object-oriented technical practices, such as the modeling of the problem domain, incremental development of systems, and encapsulation naturally support a product line approach. Product lines are either object-based o...
详细信息
ISBN:
(纸本)1581130376
object-oriented technical practices, such as the modeling of the problem domain, incremental development of systems, and encapsulation naturally support a product line approach. Product lines are either object-based or object-oriented, and use a high-level layered architecture. Domain analysis was confirmed as a vital part of product line development. Finally, new software product lines will be based on object-oriented technology, and that the tool support required for a product line will come from the object community.
Class libraries are generally designed with an emphasis on versatility and extensibility. applications that use a library typically exercise only part of the library's functionality. As a result, objects created b...
详细信息
Class libraries are generally designed with an emphasis on versatility and extensibility. applications that use a library typically exercise only part of the library's functionality. As a result, objects created by the application may contain unused members. We present an algorithm that specializes a class hierarchy with respect to its usage in a program p. That is, the algorithm analyzes the member access patterns for P's variables, and creates distinct classes for variables that access different members. Class hierarchy specialization reduces object size, and is hence primarily a space optimization. However, execution time may also be reduced through reduced object creation/destruction time, and caching/paging effects.
object relationships in modern software systems are becoming increasingly numerous and complex. Programmers who try to find violations of such relationships need new tools that allow them to explore objects in a large...
详细信息
object relationships in modern software systems are becoming increasingly numerous and complex. Programmers who try to find violations of such relationships need new tools that allow them to explore objects in a large system more efficiently. Many existing debuggers present only a low-level, one-object-at-a-time view of objects and their relationships. We propose a new solution to overcome these problems: query-based debugging. The implementation of the query-based debugger described here offers programmers an effective query tool that allows efficient searching of large object spaces and quick verification of complex relationships. Even for programs that have large numbers of objects, the debugger achieves interactive response times for common queries by using a combination of fast searching primitives, query optimization, and incremental result delivery.
Positive and negative experiences with object-oriented projects are discussed by workshop participants from industry and academia. The aim of the workshop was to come up with a condensed list of recommendations for th...
详细信息
ISBN:
(纸本)1581130376
Positive and negative experiences with object-oriented projects are discussed by workshop participants from industry and academia. The aim of the workshop was to come up with a condensed list of recommendations for the organization and implementation of initial object-oriented projects. Top ten lists of recommendations prepared by all workshop participants are presented.
In an object-orientedprogramming language, method selection is (usually) done at run-time using the class of the receiver. Some object-orientedlanguages (such as CLOS) have multi-methods which comprise several metho...
详细信息
In an object-orientedprogramming language, method selection is (usually) done at run-time using the class of the receiver. Some object-orientedlanguages (such as CLOS) have multi-methods which comprise several methods selected on the basis of the run-time classes of all the parameters, not just the receiver. Multi-methods permit intuitive and type-safe definition of binary methods such as structural equality, set inclusion and matrix multiplication, just to name a few. Java as currently defined does not support multimethods. This paper defines a simple extension to Java that enables the writing of ''encapsulated'' multi-methods through the use of parasitic methods, methods that ''attach'' themselves to other methods. Encapsulated multi-methods avoid some of the modularity problems that arise with fully general multi-methods. Furthermore, this extension yields for free both covariant and contravariant specialization of methods (besides Java's current invariant specialization). Programs using this extension can be translated automatically at the source level into programs that do not;they are modular, type-safe, and allow separate compilation.
The profile of the workshop participants was a mix of 21 software professionals from academia and industry. Practical and theoretical issues related to the quality of object-oriented designs were covered. Workshop par...
详细信息
ISBN:
(纸本)1581130376
The profile of the workshop participants was a mix of 21 software professionals from academia and industry. Practical and theoretical issues related to the quality of object-oriented designs were covered. Workshop participants concluded that software design depends on the perspective from which one investigates it. To achieve quality in objectoriented design, it is essential that design be addressed from different perspectives, each evaluated against a list of pre-established quality properties. To accomplish this, powerful tool support for documentation, measurement, and architectural reasoning is prerequisite.
Initial goal in the 1996 workshop was to investigate general experience and ideas related to effective early teaching and learning of object design. The goal for 1997 emerged from one of the outcomes of the 1996 works...
详细信息
ISBN:
(纸本)1581130376
Initial goal in the 1996 workshop was to investigate general experience and ideas related to effective early teaching and learning of object design. The goal for 1997 emerged from one of the outcomes of the 1996 workshop: a call for resources to enable teachers to emphasize object design more effectively. Therefore the 1997 workshop addressed the need for a resource base for emphasizing object design in the early years. The aim was to study ways of identifying, classifying, cataloging, and disseminating resources for early object design education.
A new architecture is developed to integrate a family of products onto common platform. The communications back-plane for this architecture is provided by an object request broker (ORB). The impact of using an ORB in ...
详细信息
ISBN:
(纸本)1581130376
A new architecture is developed to integrate a family of products onto common platform. The communications back-plane for this architecture is provided by an object request broker (ORB). The impact of using an ORB in the development of the `real-life' product is described. The products are delivered in the domain of Network Management, and have the following characteristics: network traffic management and network capacity engineering.
Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to debug, analyze, and change. To achieve practical performance, a translator produces...
详细信息
Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to debug, analyze, and change. To achieve practical performance, a translator produces an equivalent C program whose performance is comparable to commercial Smalltalks. Other noteworthy aspects of Squeak include: a compact object format that typically requires only a single word of overhead per object;a simple yet efficient incremental garbage collector for 32-bit direct pointers;efficient bulk-mutation of objects;extensions of BitBlt to handle color of any depth and antialiased image rotation and scaling;and real-time sound and music synthesis written entirely in Smalltalk.
A panel lays the foundation for understanding the needs of large systems so that object-oriented technology (OO) practitioners can appreciate the problems faced, understand the issues involved, and reorient their appr...
详细信息
A panel lays the foundation for understanding the needs of large systems so that object-oriented technology (OO) practitioners can appreciate the problems faced, understand the issues involved, and reorient their approaches to provide a viable solution when participating in similar effort. The foundation is established by establishing concepts, exposing terminology, and highlighting the state-of-the-art. Large applications are usually complex and display one or more of the following dimensions of largeness: processing power;high connectivity;online access;archival and online retrieval;data-intensive scientific applications;Internet access;scaleable architecture.
暂无评论