Unified Modeling Language (UML) is the leading contender as the de facto standard notation for object-oriented analysis and design (OOA/D). A panel discussion takes a sanity check and attempts to form an objective vie...
详细信息
Unified Modeling Language (UML) is the leading contender as the de facto standard notation for object-oriented analysis and design (OOA/D). A panel discussion takes a sanity check and attempts to form an objective view of UML and its prospects, focusing on how UML matches up in practice against one of its original raisons d'etre as `the language of blueprints for software'. Specifically, the following issues are addressed: the advantages of UML over existing OOA/D notations;the feasibility of using UML on real projects;if UML will lead to improved OOA/D methods and CASE tools;and the importance of meta-model in UML.
Over the past years, the object Technology community has seen the birth of a number of new technology ideas that have changed the way we do computing. These ideas have affected compiler design, analysis approaches, pr...
详细信息
Over the past years, the object Technology community has seen the birth of a number of new technology ideas that have changed the way we do computing. These ideas have affected compiler design, analysis approaches, project management techniques, user interface design, deployment strategies and implementation tactics. But where do these ideas come from? And how do they evolve? Do they address the needs as specified by members of the object Community? Is there a way we can nurture the introduction and assimilation of these ideas to and by the community at large? And what are the market forces that bend ideas to their will. This panel will look at new ideas in object Technology from a variety of perspectives and will attempt to get to the heart of the way that we, as technologists, create, buy, sell and grow ideas.
Function-points per person-day are a widely accepted measure for productivity in software-development. This is roughly a measure of how much software-functionality can be developed for given costs. Reports from severa...
详细信息
ISBN:
(纸本)1581130376
Function-points per person-day are a widely accepted measure for productivity in software-development. This is roughly a measure of how much software-functionality can be developed for given costs. Reports from several sources tell us that in conventional host-centric software-development 0.75-1.5 function-points per person-day are an average. This experience report is about a development project that achieved more than 7.5 function-points per person-day. In that project an online multi-user application has been created, that works with a large host-database and offers a graphical user interface. The reports describes how this excellent productivity has been achieved.
The ODMG object Model is shown to have a number of problems. A major confusion is caused by the intended type of polymorphism and the way it is expressed in the Model. Dynamic type checking is required even in situati...
详细信息
The ODMG object Model is shown to have a number of problems. A major confusion is caused by the intended type of polymorphism and the way it is expressed in the Model. Dynamic type checking is required even in situations when static type checking is possible. There are situations in which there is no way that type checking can determine whether a particular construct is type correct or not. The model of persistence in the ODMG Standard is not orthogonal, which has undesirable pragmatic consequences on complex objects. The discrepancies between the ODMG object Model and the particular language bindings of the ODMG Standard are non-trivial. This paper presents solutions to some of these problems together with the associated formal system. Without such a formal system the recommended ODMG bindings are open to a wide range of different, and sometimes confusing interpretations. The criticism expressed in the paper is intended to be helpful in developing future releases of the ODMG Standard.
The CORBA Event Service provides a flexible model for asynchronous communication among objects. However, the standard CORBA Event Service specification lacks important features required by real-time applications. For ...
详细信息
The CORBA Event Service provides a flexible model for asynchronous communication among objects. However, the standard CORBA Event Service specification lacks important features required by real-time applications. For instance, operational flight programs for fighter aircraft have complex real-time processing requirements. This paper describes the design and performance of an object-oriented, real-time implementation of the CORBA Event Service that is designed to meet these requirements. This paper makes three contributions to the design and performance measurement of object-oriented real-time systems. First, it illustrates how to extend the CORBA Event Service so that it is suitable for real-time systems. These extensions support periodic rate-based event processing and efficient event filtering and correlation. Second, it describes how to develop object-oriented event dispatching and scheduling mechanisms that can provide real-time guarantees. Finally, the paper presents benchmarks that demonstrate the performance tradeoffs of alternative concurrent dispatching mechanisms for real-time Event Services.
Java is the programming language of choice for dynamic content on the Internet. The language's popularity has arisen from its portability, ease-of-use, and integration with HTML. Java is used to enable animation o...
详细信息
ISBN:
(纸本)1581130376
Java is the programming language of choice for dynamic content on the Internet. The language's popularity has arisen from its portability, ease-of-use, and integration with HTML. Java is used to enable animation on Web pages, to dynamically select and format Web page content at Web servers, and to provide client-side user input checking as a front-end to transaction-orientedapplications. However, with a few exceptions, Java has not been used to develop applications and servers that demand high performance or throughput. In this paper, we describe techniques for improving the performance of Java code and enabling the development of high-throughput applications and servers. We show that Java code can be easily optimized to achieve performance that is comparable with that of traditional languages such as C or C++. We base these results on our experience in developing the InVerse (Interactive Universe) server in Java. Our results apply to Sun's Java class library and virtual machine, but other implementations may exhibit other performance characteristics.
40% of the United States' energy is used for heating, cooling, ventilating, and lighting buildings. Given the efficacy of current lighting systems of about 2-6% when measured from the power plant, we are wasting a...
详细信息
ISBN:
(纸本)1581130376
40% of the United States' energy is used for heating, cooling, ventilating, and lighting buildings. Given the efficacy of current lighting systems of about 2-6% when measured from the power plant, we are wasting a lot of energy. In this context, the goal of the OWL (object-oriented Workplace Laboratory) system is to provide a testbed that supports the operation of buildings with more efficient lighting systems. OWL's software architecture is based on a framework using a combination of web and object technology. It offers location-transparent and manufacturer-independent access to a variety of lighting systems. The OWL system supports a user-driven lighting control scheme for the Intelligent Workplace at Carnegie Mellon University. Both on-line remote control and diagnosis of lighting systems are facilitated by the system. With OWL, a lighting fixture failure triggers a `push' type notification event and sends it to a process for further diagnosis and treatment. This paper describes the requirements, design decisions, and the implementation specific experience in the OWL system development. We discuss the `legacy' system interface, the extendable system design using design patterns, and a component-based multi-modal user interface with Java Beans technology.
Although the Java programming language has achieved widespread acceptance, one feature that seems sorely missed is the ability to use type parameters (as in Ada generics, C++ templates, and ML polymorphic functions or...
详细信息
Although the Java programming language has achieved widespread acceptance, one feature that seems sorely missed is the ability to use type parameters (as in Ada generics, C++ templates, and ML polymorphic functions or data types) to allow a general concept to be instantiated to one or more specific types. In this paper, we propose parameterized classes and interfaces in which the type parameter may be constrained to either implement a given interface or extend a given class. This design allows the body of a parameterized class to refer to methods on objects of the parameter type, without introducing any new type relations into the language. We show that these Java extensions may be implemented by expanding parameterized classes at class load time, without any extension or modification to existing Java bytecode, verifier or bytecode interpreter.
Patterns and frameworks are two approaches to the development of both new and evolving software systems. An implicit hypothesis is that `discovery costs' are reduced by leveraging knowledge previously collected, a...
详细信息
Patterns and frameworks are two approaches to the development of both new and evolving software systems. An implicit hypothesis is that `discovery costs' are reduced by leveraging knowledge previously collected, analyzed, organized, and packaged. `Discovery costs' (or `getting started' costs) include both the costs of understanding the problem to be solved and the cost of understanding the tools, methods, existing software, etc. For large, multi-year development projects in industries such as defense or telecommunications, discovery costs can dominate the overall cost (and risk) of software development. This panel will share its experience and perspectives with the audience with a discussion initiated by the following questions: Have patterns and frameworks really delivered on their claims for reducing discovery costs? Can current best-practices be characterized as meaningful or marginal (what are the measures)? What are the discovery cost factors where frameworks and patterns appear to deliver the biggest bang for the buck? While mature pattern languages and frameworks may reduce the learning curve, they do not eliminate it. How much of a learning curve is required to develop a sufficient shared context with the authors of a set of patterns or a framework?
The dramatic improvements in global interconnectivity due to intranets, extranets, and the Internet has led to an explosion in the number and variety of new data-intensive applications. Along with the proliferation of...
详细信息
The dramatic improvements in global interconnectivity due to intranets, extranets, and the Internet has led to an explosion in the number and variety of new data-intensive applications. Along with the proliferation of these new applications have come increased problems of scale. This is demonstrated by frequent delays and service disruptions when accessing networked data sources. Recently, push-based techniques have been proposed as a solution to scalability problems for distributed applications. This paper argues that push indeed has its place, but that it is just one aspect of a much larger design space for distributed information systems. We propose the notion of a Dissemination-Based Information System (DBIS) which integrates a variety of data delivery mechanisms and information broker hierarchies. We discuss the properties of such systems and provide some insight into the architectural imperatives that will influence their design. The DBIS framework can serve as the basis for development of a toolkit for constructing distributed information systems that better match the technology they employ to the characteristics of the applications they are intended to support.
暂无评论