Two problems in the design and deployment of multimedia applications are the lack of design-time and run-time flexibility. In this paper we discuss a general methodology for tackling these issues. The work presented h...
详细信息
ISBN:
(纸本)0201485621
Two problems in the design and deployment of multimedia applications are the lack of design-time and run-time flexibility. In this paper we discuss a general methodology for tackling these issues. The work presented here is an extension of the AlphaOmega framework of [4]. In that framework we showed how the intuitive notion of an object representing its properties and capabilities to other objects differentially could be exploited to provide a powerful but easy way to change the behavior and interfaces of an application, dynamically if desired. In this paper, we develop a formal approach to the basic principles of the AlphaOmega framework. This leads to the definition of a formal system called the alpha omega-calculus. The alpha omega-calculus identifies a set of programming language abstractions that can be consistently added to any object-oriented language. While the calculus captures the intuitive notions underlying the AlphaOmega framework, it also goes beyond the original framework in power and flexibility We demonstrate the generality of our approach by working with an example that shows how it provides unifying abstractions for such seemingly diverse domains as interactive distance learning and various issues in the area of multimedia documents.
The use of type casts is pervasive in C. Although casts provide great flexibility in writing programs, their use obscures the meaning of programs, and can present obstacles during maintenance. Casts involving pointers...
详细信息
ISBN:
(数字)9783540481669
ISBN:
(纸本)3540665382
The use of type casts is pervasive in C. Although casts provide great flexibility in writing programs, their use obscures the meaning of programs, and can present obstacles during maintenance. Casts involving pointers to structures (C structs) are particularly problematic, because by using them, a programmer can interpret any memory region to be of any desired type, thereby compromising C's already weak type system. This paper presents an approach for making sense of such casts, in terms of understanding their purpose and identifying fragile code. We base our approach on the observation that casts are often used to simulate object-oriented language features not supported directly in C. We first describe a variety of ways - idioms - in which this is done in C programs. We then develop a notion of physical subtyping, which provides a model that explains these idioms. We have created tools that automatically analyze casts appearing in C programs. Experimental evidence collected by using these tools on a large amount of C code (over a million lines) shows that, of the casts involving struct types, most (over 90%) can be associated meaningfully - and automatically - with physical subtyping. Our results indicate that the idea of physical subtyping is useful in coping with casts and can lead to valuable software productivity tools.
We present a simple and powerful calculus of modules supporting mutual recursion and higher order features. The calculus allows to encode a large variety of existing mechanisms for combining software components, inclu...
详细信息
ISBN:
(数字)9783540481645
ISBN:
(纸本)3540665404
We present a simple and powerful calculus of modules supporting mutual recursion and higher order features. The calculus allows to encode a large variety of existing mechanisms for combining software components, including parameterized modules, extension with overriding of object-orientedprogramming, mixin modules and extra-linguistic mechanisms like those provided by a linker. As usual, we first present an untyped version of our calculus and then a type system which is proved sound w.r.t. the reduction semantics;moreover we give a translation of other primitive calculi.
This is an experience report on the automatic and hidden usage of program synthesis in several application domains. The structural synthesis of programs has been implemented in an object-orientedprogramming environme...
详细信息
ISBN:
(数字)9783540481195
ISBN:
(纸本)3540665870
This is an experience report on the automatic and hidden usage of program synthesis in several application domains. The structural synthesis of programs has been implemented in an object-orientedprogramming environment NUT and used for development of simulation software, engineering calculations software, implementing a benchmark for safety critical systems and development of highly interactive visual modeling of radar coverage of landscape.
This paper examines the experience of a large telecommunications and engineering company that adopted object technology for use throughout the whole of the software development lifecycle. The research reported on here...
详细信息
This paper examines the experience of a large telecommunications and engineering company that adopted object technology for use throughout the whole of the software development lifecycle. The research reported on here is part of a larger on-going program of research into the benefits of object Technology. The company was in the position of being able to establish its software development group from the ground up for a particular project. The experiences of the company are analysed in terms of Diffusion of Innovation theory. Data for the paper was gathered via survey from 40 of the 45 developers and managers involved in the project.
This paper addresses issues in using modeling techniques for a multi-agent system, which adapts and extends existing object-orientated (OO) representation techniques for parsing natural language. After concentrating o...
详细信息
This paper addresses issues in using modeling techniques for a multi-agent system, which adapts and extends existing object-orientated (OO) representation techniques for parsing natural language. After concentrating on the main problems of natural language information retrieval, we will focus on the details of the applied agent-orientated (AO) modeling techniques and assume a passing familiarity with OO modeling and representation techniques. In addition to the above, we discuss the utility of having a matchmaking agent which can reason over agent capabilities to recommend agents for specific tasks, where the capabilities and requirements are defined using a common service ontology. This ensures that the semantics of matching agent capabilities remains the same across the multi-agent system.
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breaching objects' encapsulation boundaries, these aliases can make programs hard to understand and especially hard to...
详细信息
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breaching objects' encapsulation boundaries, these aliases can make programs hard to understand and especially hard to debug. We propose using an explicit, run-time notion of object ownership to control aliases between objects in dynamically typed languages. Dynamically checking object ownership as a program runs ensures the program maintains the encapsulation topology intended by the programmer.
The objective of this study is the investigation of the correlation between object-oriented design metrics and the likelihood of the occurrence of object-oriented faults. Such a relationship, if identified, can be uti...
详细信息
The objective of this study is the investigation of the correlation between object-oriented design metrics and the likelihood of the occurrence of object-oriented faults. Such a relationship, if identified, can be utilized to select effective testing techniques that take the characteristics of the program under test into account. Our empirical study was conducted on three industrial real-time systems that contain a number of natural faults reported for the past three years. The faults found in these three systems are classified into three types: object-oriented faults, object management faults and traditional faults. The object-oriented design metrics suite proposed by Chidamber and Kemerer is validated using these faults. Moreover, we propose a set of new metrics that can serve as an indicator of how strongly object-oriented a program is, so that the decision to adopt object-oriented testing techniques can be made, to achieve more reliable testing and yet minimize redundant testing efforts.
暂无评论