The authors examine the problem of reliable storage reclamation in a distributed object-oriented system. A distributed algorithm is proposed that utilizes a modified reference counting strategy for intermode pointers ...
详细信息
ISBN:
(纸本)0818608730
The authors examine the problem of reliable storage reclamation in a distributed object-oriented system. A distributed algorithm is proposed that utilizes a modified reference counting strategy for intermode pointers and mark-and-sweep for local garbage collection. The algorithm allows nodes to fail in a failstop manner, in which case the global garbage collection functions in a gracefully degraded mode of operation. Compaction of objects is supported and object locality is exploited to reduce overhead.
object models have an important part to play in the future of database systems, but progress is hampered by lack of agreement on their essential characteristics. Strong constraints on the design of a common model are ...
详细信息
Smartphone apps create and handle a large variety of "instance" data that has to persist across runs, such as the current navigation route, workout results, antivirus settings, or game state. Due to the natu...
详细信息
The majority of modern programminglanguages provide concurrency and object-orientation in some form. However, object-oriented concurrency remains cumbersome in many situations. We introduce the language OrcO, Orc wit...
详细信息
The majority of modern programminglanguages provide concurrency and object-orientation in some form. However, object-oriented concurrency remains cumbersome in many situations. We introduce the language OrcO, Orc with concurrent objects, which enables a flexible style of concurrent object-orientedprogramming. OrcO extends the Orc programming language by adding abstractions for programming-in-the-large;namely objects, classes, and inheritance. OrcO objects are designed to be orthogonal to concurrency, allowing the concurrent structure and object structure of a program to evolve independently. This paper describes OrcO's goals and design and provides examples of how OrcO can be used to deftly handle events, object management, and object composition.
The Intel iPSC® and iPSC®/2 concurrent computer systems provide the processing power and memory to solve very large parallel programming problems. However, their distributed memory and large grain process mo...
详细信息
ISBN:
(纸本)0897912780
The Intel iPSC® and iPSC®/2 concurrent computer systems provide the processing power and memory to solve very large parallel programming problems. However, their distributed memory and large grain process model complicate the implementation of objectoriented programs. As part of the Interwork II™ Concurrent programming Toolkit, software facilities have been constructed for the management of a large number of objects (up to 2∗∗32) in a global object name space. This simplifies the iPSC's programming model by allowing uniform access to objects from any node within the hypercube. objects are dynamically created and destroyed, and two methods of object access are provided. First, a process can gain exclusive access to an object using the Openjobj procedure;the object migrates to the process's local node as a side effect. A second and more efficient access method is to execute one of an object's associated procedures using the Apply procedure. The current implementation transports the procedure name and arguments to the node on which the object resides for execution;a copy of the code exists on every node. Interwork II uses the global object name space to support a distributed, lightweight process model. This allows processes to be uniformly accessed throughout the cube. Additional objects for inter-process communication are also provided. The global object name space is implemented in a fully distributed manner in order to eliminate performance bottlenecks. Techniques for caching object references to further speed up object access are described.
The proceedings contain 38 papers. The special focus in this conference is on object-oriented Database systems. The topics include: The design and implementation of O, an object-oriented database system;abstract objec...
ISBN:
(纸本)9783540503453
The proceedings contain 38 papers. The special focus in this conference is on object-oriented Database systems. The topics include: The design and implementation of O, an object-oriented database system;abstract object types for databases;rule execution in CPLEX: A persistent objectbase;constraint analysis: A tool for explaining the semantics of complex objects;providing uniform access to heterogeneous information bases;the object shell: An extensible system to define an object-oriented view of an existing database;an adaptive derived data manager for distributed databases;mapping object-oriented concepts into relational concepts by meta-compilation in a logic programming environment;foundations of relational object management systems;the COMANDOS integration system: An objectoriented approach to the interconnection of heterogeneous applications;a learning-based approach to meta-data evolution in an object-oriented database;zEITGEIST: Database support for object-orientedprogramming;views, data abstraction, and inheritance in the FUGUE data model;vodak kernel data model;a model for an object management system for software engineering environments;multiple inheritance and genericity for the integration of a database management system in an object-oriented approach;instance inheritance mechanisms for objectoriented databases;identification of database objects by key;the design of dynamo: A general-purpose information processing model with a time dimension;a uniform concept for storing and manipulating engineering objects;managing persistent data with mneme: Designing a reliable, shared object interface;integration of database management with an object-orientedprogramming language;a distributed object server;on dynamically defined complex objects and SQL;common object-oriented repository system;identity, equality and query optimization;optimization of object-retrieval queries.
JavaScript developers create programs by calling functions and they use functions to construct objects. JavaScript development tools need to report to developers about those functions and constructors, for example in ...
详细信息
ISBN:
(纸本)9781450309424
JavaScript developers create programs by calling functions and they use functions to construct objects. JavaScript development tools need to report to developers about those functions and constructors, for example in debugger call-stacks and in object representations. However, most functions are anonymous: developers need not to specify names for functions. Based on our analysis of ten large, widely used JavaScript projects, less than 7% of JavaScript functions are named by developers. After studying examples from these JavaScript projects, we propose Static Function-object Consumption, a principled, automated approach based on local source code analysis for providing names to nameless JavaScript functions. We applied our approach to 90000 anonymous functions that appeared in the analyzed JavaScript projects. The approach is successful in naming more than 99% (91% are unique within their file) of anonymous functions while the average length of function names is kept less than 37 characters.
A project involving the development of a simulation system in Ada in parallel with a similar Fortran development has been undertaken. As part of the project, the Ada development team evaluated object-oriented and proc...
详细信息
ISBN:
(纸本)0818608420
A project involving the development of a simulation system in Ada in parallel with a similar Fortran development has been undertaken. As part of the project, the Ada development team evaluated object-oriented and process-oriented design methodologies for Ada. Finding these methodologies limited in various ways, the team created a general object-oriented development methodology that they applied to the project. The author provides some background on the development of the methodology, describes the main principles of the approach, and presents some experiences using the methodology, including a general comparison of the Ada and Fortran simulator designs.
We present object Equality Profiling (OEP), a new technique for helping programmers discover optimization opportunities in programs. OEP discovers opportunities for replacing a set of equivalent object instances with ...
详细信息
We present object Equality Profiling (OEP), a new technique for helping programmers discover optimization opportunities in programs. OEP discovers opportunities for replacing a set of equivalent object instances with a single representative object. Such a set represents an opportunity for automatically or manually applying optimizations such as hash consing, heap compression, lazy allocation, object caching, invariant hoisting, and more. To evaluate OEP, we implemented a tool to help programmers reduce the memory usage of Java programs. Our tool performs a dynamic analysis that records all the objects created during a particular program run. The tool partitions the objects into equivalence classes, and uses collected timing information to determine when elements of an equivalence class could have been safely collapsed into a single representative object without affecting the behavior of that program run. We report the results of applying this tool to benchmarks, including two widely used Web application servers. Many benchmarks exhibit significant amounts of object equivalence, and in most benchmarks our profiler identifies optimization opportunities clustered around a small number of allocation sites. We present a case study of using our profiler to find simple manual optimizations that reduce the average space used by live objects in two SpecJVM benchmarks by 47% and 38% respectively.
暂无评论