Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Extensible file systems in spring
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Subcontract: a flexible base for distributed programming
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
The impact of operating system structure on memory system performance
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
ADL—an interface definition language for specifying and testing software
IDL '94 Proceedings of the workshop on Interface definition languages
Using interface inheritance to address problems in system software evolution
IDL '94 Proceedings of the workshop on Interface definition languages
Thoth, a portable real-time operating system
Communications of the ACM
Communications of the ACM
Spring Virtual Memory System, The
Spring Virtual Memory System, The
The Spring Name Service
Measuring the performance of communication middleware on high-speed networks
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
A high performance Kernel-Less Operating System architecture
ACSC '05 Proceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 38
Protected shared libraries: a new approach to modularity and sharing
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
Collocation optimizations in an aspect-oriented middleware system
Journal of Systems and Software
An empirical comparison of Java remote communication primitives for intra-node data transmission
ACM SIGMETRICS Performance Evaluation Review
Hi-index | 0.00 |
The Spring Object Model provides a basis for building operating systems, applications, and other software components for a modern distributed computing environment. All services and abstractions--whether local or remote; system, extension, or user; library or server--are structured as objects. Objects have strongly typed interfaces specified in an interface definition language. Spring forces a clear separation of interface and implementation; no implementation properties are allowed in the interface. It supports multiple interface inheritance, which is used to structure the system abstractions and provides the basis of extending and evolving them. Interfaces are used to define boundaries of software components which can be mapped to different address space and machine boundaries. The model provides parameter passing modes that are especially useful for distributed computing but which can be optimized for the local case. This allows one to construct microkernels with the option of configuring components in the same address space for improved performance. Objects are instances of interfaces, on which clients can perform operations. A client of an object is generally unaware of the location of the object's implementation, and can perform operations on the object and pass the object around freely. The representation of a Spring object is not a fixed piece of information such as a unique identifier; instead, it can be tailored to meet different needs using the subcontract abstraction.