This paper presents selective checkpointing and rollback schemes for MT-GO (multithreaded, object-oriented) programs. There is a need for checkpointing mechanisms that are more sophisticated than the traditional proce...
详细信息
This paper presents selective checkpointing and rollback schemes for MT-GO (multithreaded, object-oriented) programs. There is a need for checkpointing mechanisms that are more sophisticated than the traditional process-level checkpointing. The program model, theoretical foundations, and an implementation of the selective checkpointing & rollback schemes are described. The usefulness of the schemes is demonstrated by implementing a higher level fault-tolerance scheme of conversations using them. The performance implications are studied on a prototype internet e-commerce server. The use of the selective schemes in the prototype server showed an appreciable reduction in the loss of work in the presence of faults. Benefits are more pronounced for a larger level of concurrency in the server. The selective scheme usually outperforms the hypothetical zero-cost global scheme in the presence of faults, vis-a-vis completion times. The experiments also show the vast difference between the sizes of selective checkpoints and global checkpoints. The concurrent sessions scheme (based on the concept of relaxed conversations) required 160 checkpoints in less than an hour. Traditionally, such a scheme would be considered outrageous, but the selective schemes still improve performance in the presence of faults. The main contribution of this paper is that it brings forward an OO (object-oriented) approach to checkpointing. Not only does the program model separate program state from process state, but it allows one to identify the state associated with each individual thread of the MT program. The prototype showed that this abstract knowledge about the program state can be made available at runtime in the form of suitable data structures. The availability of this information at runtime fuels the design of selective schemes.
This paper describes the application of an object-oriented Paradigm (OOP) to the implementation of a hyperelastic constitutive e driver. The C++ programming language used in our implementation lends to an efficient an...
详细信息
This paper describes the application of an object-oriented Paradigm (OOP) to the implementation of a hyperelastic constitutive e driver. The C++ programming language used in our implementation lends to an efficient and readable program. It will be shown that object-oriented implementation naturally follows from analytical development in isotropic hyperelasticity. Examples of classes developed and results from a number of large deformation hyperelastic numerical test are presented.
Networked computers are finding their way into a broader range of environments, from corporate offices to schools, homes, and shirt pockets. This new computing model fosters the development of distributed software com...
详细信息
Networked computers are finding their way into a broader range of environments, from corporate offices to schools, homes, and shirt pockets. This new computing model fosters the development of distributed software components that communicate with one another across the underlying networked infrastructure. A distributed software component can be plugged into distributed applications that may not have existed when it was created. The intention is that many developers will reuse distributed software components to build new systems. An interface definition language usually is used to describe a distributed software component's interface. However, a notable limitation of current IDLs is that they generally only describe the names and type signatures of the component's attributes and operations. Current IDLs don't formally specify the behavior of the software component's operations. To help solve these problems, the authors have developed Biscotti (behavioral specification of distributed software component interfaces), a Java extension that enhances Java remote method invocation interfaces with Eiffel-style preconditions, postconditions, and invariants.
In this paper, we present an object-oriented application framework to support the development of evolving distributed systems. The framework combines concepts of the object-oriented paradigm with those of architectura...
详细信息
In this paper, we present an object-oriented application framework to support the development of evolving distributed systems. The framework combines concepts of the object-oriented paradigm with those of architectural design. The result is a framework which supports extensible and reusable configurations of distributed components. The framework addresses the problem of evolution by allowing the addition, replacement and extension of components of a configuration, Evolution is also possible at run time, where a configuration can change dynamically depending on a particular event. The paper outlines the fundamental aspects of our framework and presents a case study, which illustrates its application. (C) 1999 Elsevier Science B.V. All rights reserved.
The majority of problems arising in science and engineering require the solution of a large set of linear algebraic equations such as, in matrix form. Ax = b. This type of equation is usually solved using some form of...
详细信息
The majority of problems arising in science and engineering require the solution of a large set of linear algebraic equations such as, in matrix form. Ax = b. This type of equation is usually solved using some form of Gaussian elimination. It is necessary to the finite element users that the nodes and elements are numbered correctly since nearly all computer programs contain linear algebra solution routines. These are usually expressly written to operate efficiently on matrices possessing small bandwidths, profiles or wavefronts (frontwidths). The object-oriented implementation of bandwidth, profile and wavefront reduction is based on an algorithm published by Sloan, which seems to perform consistently better to that of the widely used reverse Cuthill-McKee method and the Gibbs-King method. This article presented for the first time during CST'96 Conference [Gajewski, R.R., Lompies, P., object-oriented implementation of bandwidth, profile and wavefront reduction algorithms, In: Advances in Computational Structures Technology, ed. B.H.V. Topping, Civil Comp Press, 1996, pp. 115-120.] provides a full description of the implemented classes, their hierarchy and implementation. It is also illustrated by examples of practical calculations. (C) 1999 Elsevier Science Ltd and Civil-Comp Ltd. All rights reserved.
This paper presents Java language from an object-oriented software construction perspective. It explains the implications of banning generics and multiple inheritance of classes, and explores the patterns and the idio...
详细信息
This paper presents Java language from an object-oriented software construction perspective. It explains the implications of banning generics and multiple inheritance of classes, and explores the patterns and the idioms used by the Java designers and programmers to redeem their benefits. The paper also discusses an alternative to multiple inheritance, as incorporated in Lava, which extends Java with constructs for type-safe automatic forwarding. (C) 2001 Elsevier Science Ltd. All rights reserved.
Software development that assembles prefabricated components faces different challenges than development that starts from scratch with programming constructs. For example, it is often impossible, or at least not econo...
详细信息
Software development that assembles prefabricated components faces different challenges than development that starts from scratch with programming constructs. For example, it is often impossible, or at least not economical, to change the source code of components from independent suppliers. But how do you assemble the components without doing that? How do you link them with the services they require? And how do you build a distributed system and ensure systemwide security, performance, and fault tolerance without breaking the system? These are just some of the issues that designers face when using prefabricated components in a distributed system. object-oriented distributed systems pose some specific problems. objects communicate by invoking methods on other objects, so they must maintain static information, such as-class or interface names. Thus, objects may have strong dependencies, not only on each other but also on outside services. Distributed systems built from prefabricated components require an assembly approach that separates architecture, component, and distributed object infrastructure concerns.
This paper reports on two experiments comparing mental representations and program comprehension by novices in the object-oriented and procedural styles. The subjects were novice programmers enrolled in a second cours...
详细信息
This paper reports on two experiments comparing mental representations and program comprehension by novices in the object-oriented and procedural styles. The subjects were novice programmers enrolled in a second course in programming which taught either the object-oriented or the procedural paradigm. The first experiment compared the mental representations and comprehension of short programs written in the procedural and object-oriented styles. The second experiment extended the study to a larger program incorporating more advanced language features. For the short programs there was no significant difference between the two groups with respect to the total number of questions answered correctly, but the object-oriented subjects were superior to the procedural subjects at answering questions about program function, This suggests that function information was more readily available in their mental representations of the programs and supports an argument that the object-oriented notation highlights function at the level of the individual class. For the long program a corresponding effect was not found. The comprehension of procedural subjects was superior to object-oriented subjects on all types of question. The difficulties experienced by the object-oriented subjects in answering questions in a larger program suggest that they faced problems in marshaling information and drawing inferences from it. We suggest that this result may be related to a longer learning curve for novices of the object-oriented style, as well as to features of the OO style and the particular OO language notation, (C) 1999 Elsevier Science B.V. All rights reserved.
To produce modular and re-usable simulation models, previous studies have found out that objectoriented approach seems to be more appropriate. Various paradigms have been proposed and their results are promising. Thi...
详细信息
To produce modular and re-usable simulation models, previous studies have found out that objectoriented approach seems to be more appropriate. Various paradigms have been proposed and their results are promising. This paper illustrates how objectorientedprogramming concept can be applied to implement a simulation model of JIT system. Another objective of this research is to implement the simulation model by visual interactive approach. The interactive interface, built in this research allows the managers to change their decisions and justify the consequence very quickly. Moreover, the program during execution can display its results in an animated manner so that users can observe and understand the process during simulation. Some illustrated operations process will be demonstrated in the paper. Computational results obtained using the JIT simulator to examine effects of different number of Kanbans or arrival time distributions are also reported. Later, this paper uses objectoriented approach to implement an animated simulation model in order to analyze the design and implementation factors of a JIT system. The results clearly show that this approach is feasible and deserves more efforts for further research.
The typical orchestra manages a huge amount of information. A symphonic work's main score often runs to more than 100 pages, while an operatic score can run 600 or more. From the main score, the conductor draws so...
详细信息
The typical orchestra manages a huge amount of information. A symphonic work's main score often runs to more than 100 pages, while an operatic score can run 600 or more. From the main score, the conductor draws some 15 to 30 different instrumental parts and distributes them to 40 or more lecterns so that 70 musicians can play from them during rehearsals and performances. This overhead increases significantly if the piece requires-air-chorus as well. A typical performance ranges from a few minutes to more than two hours. Individual musicians often make simple changes to the score, writing them manually on their parts during rehearsals, most often by adding interpretation symbols such as dynamics, expression marks, and string bowings. More complex changes-such as arrangements for different instruments, transpositions, and the deletion or addition of music sections-must be decided by the conductor. Operas, ballets, and new symphonic works frequently require such time-consuming modifications. Many performing organizations and publishers could benefit from a computerized option that allows storage of multiple versions and reduces the amount of repetitive work involved. The authors discuss their approach: the Music object-oriented Distributed System.
暂无评论