Given that corrective-maintenance costs already dominate the software life cycle and look set to increase significantly, reliability in the form of reducing such costs should be the most important software improvement...
详细信息
Given that corrective-maintenance costs already dominate the software life cycle and look set to increase significantly, reliability in the form of reducing such costs should be the most important software improvement goal. Yet the results are not promising when we review recent corrective-maintenance data for big systems in general and for OO in particular-possibly because of mismatches between the OO paradigm and how we think.
Emerald is a general-purpose language with aspects of traditional object-oriented languages, such as Smalltalk, and abstract data type languages, such as Modula-2 and Ada. It is strongly typed with a nontraditional ob...
详细信息
Emerald is a general-purpose language with aspects of traditional object-oriented languages, such as Smalltalk, and abstract data type languages, such as Modula-2 and Ada. It is strongly typed with a nontraditional object model and type system that emphasize abstract types, allow separation of typing and implementation, and provide the flexibility of polymorphism and subtyping with compile-time checking. This paper describes the Emerald language and its programming methodology. We give examples that demonstrate Emerald's features, and compare and contrast the Emerald approach to programming with the approaches used in other similar languages.
The burden of organizational learning surrounding software process innovations (SPIs)-and complex organizational technologies in general-creates a ''knowledge barrier'' that inhibits diffusion. Attewel...
详细信息
The burden of organizational learning surrounding software process innovations (SPIs)-and complex organizational technologies in general-creates a ''knowledge barrier'' that inhibits diffusion. Attewell (1992) has suggested that many organizations will defer adoption until knowledge barriers have been sufficiently lowered;however, this leaves open the question of which organizations should be more likely to innovate, even in face of high knowledge barriers. It is proposed here that organizations will innovate in the presence of knowledge barriers when the burden of organizational learning is effectively lower, either because much of the required know-how already exists within the organization, or because such knowledge can be acquired more easily or more economically. Specifically, it is hypothesized that organizations will have a greater propensity to initiate and sustain the assimilation of SPIs when they have a greater scale of activities over which learning costs can be spread (learning-related scale), more extensive existing knowledge related to the focal innovation (related knowledge), and a greater diversity of technical knowledge and activities (diversity). An empirical study using data on the assimilation of object-oriented programming languages (OOPLs) by 608 information technology organizations strongly confirmed the importance of the three hypothesized factors in explaining the assimilation of OOPLs.
An interesting and little documented problem is the influence of a design methodology on the program architecture. In this case study, we compared two design methodologies and their impact on both development process ...
详细信息
An interesting and little documented problem is the influence of a design methodology on the program architecture. In this case study, we compared two design methodologies and their impact on both development process and the resulting program architecture. The methodologies are object-based variants of refinement methodology and structured design, respectively. Both methodologies were applied to the same problem (a library system of less than 1000 lines of Ada code), and the results were compared. Substantial differences between the two resulting architectures are analysed and discussed.
Method schemas were proposed as a formal model of object-oriented languages. A method schema S is called consistent if, for each method invocation during the execution of S, a method definition to be bound to the invo...
详细信息
Method schemas were proposed as a formal model of object-oriented languages. A method schema S is called consistent if, for each method invocation during the execution of S, a method definition to be bound to the invoked method name is uniquely determined. However, the consistency testing problem is known to be undecidable in general. This paper presents an algorithm which analyzes the consistency of a given method schema. The algorithm decides the consistency problem in polynomial time for monadic method schemas. We also provide an incremental algorithm for testing consistency after updates of a method schema.
An architecture for an expert-system shell that mixes declarative nd procedural knowledge, overcoming a major problem of conventional shells, is presented. The prototype shell uses structured knowledge representations...
详细信息
An architecture for an expert-system shell that mixes declarative nd procedural knowledge, overcoming a major problem of conventional shells, is presented. The prototype shell uses structured knowledge representations and its built-in database interface not only allows automatic extraction of data from a database management system but also provides a fuzzy database query facility. The shell's object-oriented approach to knowledge representation supports data and knowledge acquisition and management. Another feature is encapsulation which prevents object manipulation except by defined operations. A comparison of representation methods and two case studies showing System X-I's power and flexibility are included
A product database for a design and manufacturing enterprise serves as a repository for the data needed to manufacture a product. This paper discusses how an object-oriented persistent object manager named ROSE, under...
详细信息
A product database for a design and manufacturing enterprise serves as a repository for the data needed to manufacture a product. This paper discusses how an object-oriented persistent object manager named ROSE, under development at Rensselaer. has been used in the Rensselaer CIM program to develop a STEP/PDES-compliant product database for its research test bed. In so doing, it provides an overview of the requirements for a product database system in an integrated design and manufacturing facility, and it discusses how the chosen system meets these requirements.
object-oriented languages have recently become common, making register indirect jumps more important than ever. In object-oriented languages, virtual functions are heavily used because they improve programming product...
详细信息
object-oriented languages have recently become common, making register indirect jumps more important than ever. In object-oriented languages, virtual functions are heavily used because they improve programming productivity greatly. Virtual function calls usually consist of register indirect jumps, and consequently, programs written in object-oriented languages contain many register indirect jumps. The prediction of the targets of register indirect jumps is more difficult than the prediction of the direction of conditional branches. Many predictors have been proposed for register indirect jumps, but they cannot predict the jump targets with high accuracy or require very complex hardware. We propose a method that resolves jump targets by forwarding execution results. Our proposal dynamically finds the producers of register indirect jumps in virtual function calls. After the execution of the producers, the execution results are forwarded to the processor's front-end. The jump targets can be resolved by the forwarded execution results without requiring prediction. Our proposal improves the performance of programs that include unpredictable register indirect jumps, because it does not rely on prediction but instead uses actual execution results. Our evaluation shows that the IPC improvement using our proposal is as high as 5.4% on average and 9.8% at maximum.
The transition from Java 1.4 to Java 1.5 has provided the programmer with more flexibility due to the inclusion of several new language constructs, such as parameterized types. This transition is expected to increase ...
详细信息
The transition from Java 1.4 to Java 1.5 has provided the programmer with more flexibility due to the inclusion of several new language constructs, such as parameterized types. This transition is expected to increase the number of class clusters exhibiting different combinations of class characteristics. In this paper we investigate how the number and distribution of clusters are expected to change during this transition. We present the results of an empirical study were we analyzed applications written in both Java 1.4 and 1.5. In addition, we show how the variability of the combinations of class characteristics may affect the testing of class members. (C) 2008 Elsevier Inc. All rights reserved.
暂无评论