The paper deals with the use of software diversity, specifically, N-version programming (NVP) in objectoriented (OO) systems. We formulate the problem of faulty version recovery and show how our NVP scheme, developed...
详细信息
The paper deals with the use of software diversity, specifically, N-version programming (NVP) in objectoriented (OO) systems. We formulate the problem of faulty version recovery and show how our NVP scheme, developed recently, can be extended to solve it. Our approach relies on using the abstract version state, which represents a common general description of the states of all correct version objects. The recovery consists in mapping the state of a correct version onto the state of the faulty version via the abstract state. We introduce a formal description of our model and show that many ideas related to object state abstraction can be found in the existing research on OO programming. We discuss extensions of LAYOM and PSL as promising practical approaches for developing recovery features in OO programming. As an alternative solution, we propose a meta-object architecture and a related protocol which can facilitate the solution of the object version recovery problem. The paper finishes with a brief discussion of engineering steps which have to be done for developing recoverable version objects and of some approaches which can improve the reusability of the scheme proposed.
object-oriented constraint programming (OOCP) combines two orthogonal but complementary programming paradigms into one-object-orientedprogramming (OOP) and logic constraint programming (LCP). Most practitioners of OO...
详细信息
ISBN:
(纸本)081868271X
object-oriented constraint programming (OOCP) combines two orthogonal but complementary programming paradigms into one-object-orientedprogramming (OOP) and logic constraint programming (LCP). Most practitioners of OOCP would agree that the design of a constraint-based model is the most time consuming and difficult part of OOCP. There is currently no systematic approach or methodology to follow when designing a model suitable for OOCP. The paper outlines a simple methodology that extends traditional object-oriented analysis and design (OOAD) to cover constrained variables and constraints used in OOCP. The proposed OOCP Methodology is an initial investigation into providing a more rigid set of guidelines to follow when designing constraint-based models. The paper presents the OOCP methodology using a simplified nurse rostering system as a case study.
Architectural evolution is a costly yet unavoidable consequence of a successful application. One method for reducing cost is to automate aspects of the evolutionary cycle when possible. Three kinds of architectural ev...
详细信息
ISBN:
(纸本)1880446359
Architectural evolution is a costly yet unavoidable consequence of a successful application. One method for reducing cost is to automate aspects of the evolutionary cycle when possible. Three kinds of architectural evolution in object-oriented systems are: schema transformations, the introduction of design pattern microarchitectures, and the hot-spat-driven-approach. This paper shows that all three can be viewed as transformations applied to an evolving design. Further, the transformations are automatable with refactorings - behavior-preserving program transformations. A comprehensive list of refactorings used to evolve large applications is provided and an analysis of supported schema transformations, design patterns, and hot-spot meta patterns is presented. Refactorings enable the evolution of architectures on an if-needed basis reducing unnecessary complexity and inefficiency.
The SPIN extension presented in this article is meant as a way to facilitate the modeling and verification of object-oriented programs. It provides means for the formal representation of some run-time mechanisms inten...
详细信息
ISBN:
(纸本)3540664998
The SPIN extension presented in this article is meant as a way to facilitate the modeling and verification of object-oriented programs. It provides means for the formal representation of some run-time mechanisms intensively used in OO software, such as dynamic object creation and deletion, virtual function calls, etc. This article presents a number of language extensions along with their implementation in SPIN. We carried out a number of experiments and found out that an important expressibility gain can be achieved with at most a small loss of performance.
UML provides modeling support for static software components through hierarchical packages. We describe a small extension of UML for modeling dynamic software components which can be instantiated at runtime, customize...
详细信息
ISBN:
(纸本)3540667121
UML provides modeling support for static software components through hierarchical packages. We describe a small extension of UML for modeling dynamic software components which can be instantiated at runtime, customized, made persistent, migrated and be aggregated to larger components. For example, this extension can be used to describe systems built with JavaBeans, ActiveX-Controls, Voyager Agents or CORBA objects by Value. With our extension, the lifecycle of a dynamic software component can be expressed in terms of UML. We can not only describe a system at design time, but also monitor its runtime behaviour. A re-engineering tool is presented that exploits our UML extension for a high-level visualization of the interaction between dynamic components in an object-oriented system.
Here introduces a concept of Holonically objectoriented System. Nowadays there are many much more complicated things than before in this world, waited to be controlled intelligently for getting a goods' productio...
详细信息
ISBN:
(纸本)0819434264
Here introduces a concept of Holonically objectoriented System. Nowadays there are many much more complicated things than before in this world, waited to be controlled intelligently for getting a goods' production rate better at a factory or getting things clearer in a complex system or getting a help in a sense of analyzing a system, etc. For having these things accomplished, we have tried to understand the target system to be controlled clearly, accurately, and precisely. After having got these information, it is ready to control for many purposes. But usually this method gives us further complexed problems, more time consuming because of the size of a system, gives us comparatively lower robustnesses. These can be caused by lack of a flexibility against a sudden change of a system's behavior, giving too much redundant attention to a system, and lack of intelligence. So in order to overcome these problems, here introduces the concept of Holonically objectoriented System which consists of a holarchy which behaves as a whole as well as a subordinate. And this behavior helps to interpret a huge organization into a system which is flexible, raising a production rate, and high adaptability to changes.
object-orientedprogramming has been considered a most promising method in program development and maintenance. An important feature of object-oriented programs (OOPs) is their reusability which can be achieved throug...
详细信息
ISBN:
(纸本)0769501222
object-orientedprogramming has been considered a most promising method in program development and maintenance. An important feature of object-oriented programs (OOPs) is their reusability which can be achieved through the inheritance of classes or reusable components. In this paper we propose an algorithm to decompose OOPs with respect to some variables or objects of interest using the forward dynamic slicing technique. The algorithm recursively decomposes constructors and member functions with respect to the specified variables in a slicing criterion. It is an extension of the interprocedural program slicing algorithm Fly Song and Huynh [13] which is based on the for ward slicing technique by Korel and Yalamanchili [11]. The algorithm analyzes message passings and parameter passings and constructs dynamic object relationship diagrams(DORD). ils results, the algorithm produces not only the statement let el slice (called traditional slice). but also the DORD that shows the relationships among the objects with respect to the specified variables in a slicing criterion.
Certain features of the object-oriented paradigm are a serious impediment for the runtime performance of object-oriented programs. Although compiler techniques to alleviate this problem were developed over the years, ...
详细信息
ISBN:
(纸本)3540657177
Certain features of the object-oriented paradigm are a serious impediment for the runtime performance of object-oriented programs. Although compiler techniques to alleviate this problem were developed over the years, we will present some real-world examples which show that these solutions fall short in making any significant optimizations to systems that are required to be very flexible and highly reusable. As a solution, we propose a radically different approach: using an open compiler to "compile away" whole designs by performing architectural transformations based on programmer annotations. We win discuss this approach in detail and show why it is more suited to solve the efficiency problems inherently associated with object-orientedprogramming.
Numerous systems for ranked retrieval on text databases have been implemented by both information retrieval researchers and in the commercial sector. In contrast, software for text categorization, message filtering, t...
详细信息
ISBN:
(纸本)1581130961
Numerous systems for ranked retrieval on text databases have been implemented by both information retrieval researchers and in the commercial sector. In contrast, software for text categorization, message filtering, textual data mining, and related tasks is less common. ATTICS is an extensible text classification system we have implemented in C++. It supports incremental training and online application of classifiers and predictive models to streams of textual, numeric, symbolic, and hybrid data records. An object-oriented design allows easy addition of new preprocessors, machine learning algorithms, and classifier types.
One major approach to realise database integration is to adapt and merge the database schemas by defining views. When integrating object-oriented databases, the views need To adequately support object identity and met...
详细信息
ISBN:
(纸本)0769500714
One major approach to realise database integration is to adapt and merge the database schemas by defining views. When integrating object-oriented databases, the views need To adequately support object identity and methods. View objects need to be identified on the basis of the objects they, have been derived from. Methods must be callable from the query processor without impeding query optimisation. Our view system for ODMG-93 supports both declarative and procedural integration of object-oriented databases. It provides flexible integration semantics without sacrificing the optimisation potential.
暂无评论