Recently, vast amounts of research efforts have been made to derive a higher-level abstraction mechanism than the class abstraction in objectoriented languages. Notable examples include the research activities on sof...
详细信息
Recently, vast amounts of research efforts have been made to derive a higher-level abstraction mechanism than the class abstraction in objectoriented languages. Notable examples include the research activities on software architectures and component based software development. Of these, software architectures allow us to focus on the issue of software connectors, which are used to describe interactions between software components in the context of architectural styles. However, few contemporary programming languages support the explicit notion of connectors, which makes it difficult to practice software development based on software architectural concepts. The authors present their experience in implementing software connectors through first-class methods in the Java programming language. They view software connectors as methods over methods and show that a suitable set of reflective facilities can be a nice device for implementing software connectors.
Recent advances in software engineering, such as graphical user interfaces and object-orientedprogramming, have caused applications to become more memory intensive. These applications tend to allocate dynamic memory ...
详细信息
Recent advances in software engineering, such as graphical user interfaces and object-orientedprogramming, have caused applications to become more memory intensive. These applications tend to allocate dynamic memory prolifically. Moreover, automatic dynamic memory reclamation (garbage collection, GC) has become a popular feature in modern programming languages. As a result, the time consumed by dynamic storage management can be up to one-third of the program execution time. This illustrates the need for a high-performance memory management scheme. This paper presents a top-level design and evaluation of the proposed instruction extensions to facilitate heap management.
Although several object-oriented distributed systems development tools exist, there is little, if no offer of solutions that homogeneously integrate all aspects of a distributed system. This article describes a toolki...
详细信息
Although several object-oriented distributed systems development tools exist, there is little, if no offer of solutions that homogeneously integrate all aspects of a distributed system. This article describes a toolkit that aims at supporting the construction and the execution of distributed systems. The tools are defined according to an architecture that fully complies with object-oriented principles, providing software developers with a relatively simple, yet effective and efficient, platform that makes the main difficulties normally found in distributed systems development transparent. Among those difficulties, it is the notorious impedance mismatch between the programming language and the object manipulation language. Such difficulty is not noticed in the toolkit presented. Moreover, all the benefits from object orientation are deeply exploited. For this reason, the toolkit permits fast development of distributed systems.
In this paper the application of neural networks in object-orientedprogramming is discussed. NeuroVCL components for Delphi represent a development kit for building programs with backpropagation neural networks. An e...
详细信息
ISBN:
(纸本)0780355121
In this paper the application of neural networks in object-orientedprogramming is discussed. NeuroVCL components for Delphi represent a development kit for building programs with backpropagation neural networks. An example of program development using these components is given.
Software testing is an important technique for improving the reliability and quality of software systems. object-orientedprogramming is considered to be the most promising programming methodology. We propose two appr...
详细信息
Software testing is an important technique for improving the reliability and quality of software systems. object-orientedprogramming is considered to be the most promising programming methodology. We propose two approaches to generate non-equivalent ground terms as test cases. These approaches are based on the technique of fundamental equivalent pair. The basic idea of these approaches is as follows. Suppose u/sub 1//spl sim/u/sub 2/ is a fundamental equivalent pair, u/sub 2/* is the normal form of u/sub 2/. Suppose further that by changing the values of parameters of constructor contained in u/sub 2/*, or by inserting a basic constructor into u/sub 2/*, we obtain another ground term u/sub 2/', then u/sub 1/ and u/sub 2/' are nonequivalent, and can be used as a test case.
To describe a picture, spatial relations between image regions provide information concerning relative spatial position of two regions. This information could be for example: one region is left of another region. The ...
详细信息
To describe a picture, spatial relations between image regions provide information concerning relative spatial position of two regions. This information could be for example: one region is left of another region. The definition of such entity is not easy in general and the manner in which spatial data is modeled affects important aspects of its use. So how to model a situation in which both the data and relationships are imprecise? The most useful characteristic of the human language is its ability to describe spatial relations. Giving a defined reference, one can describe an object as left or right of the reference. However, under the same description (left of the reference for example), objects could not have the same position which implies the use of the degree of spatial relations. We describe our methodology using examples introduced in (Gader, 1997; Wang and Keller, 1997). These examples were studied by other authors and were difficult to treat because of the complexity of defining degrees of spatial relations conform with the human perception. We also compare our approach with other approaches and introduce our concept for a GIS technology. Our methodology is particularly suitable for the nature of the geographical information. We present a new approach based on successive cuts of the image horizontally, vertically, or following an oblique direction.
We consider the inheritance of state based behavior in objectoriented analysis and design, as it arises, for example, in specifying behavior in the UML using statecharts. We concentrate on behavioral conformity and t...
详细信息
We consider the inheritance of state based behavior in objectoriented analysis and design, as it arises, for example, in specifying behavior in the UML using statecharts. We concentrate on behavioral conformity and the resulting substitutability of classes, whereby the inheritance mechanism is to retain original behaviors. There are many deep and unresolved questions around this issue, which cannot be addressed without a clear and rigorous picture of what exactly is meant by behavioral conformity, and how computationally complex it is to detect. We first define a basic propositional level computational model for objectoriented designs, and then define substitutability and inheritance in the linear and branching paradigms. We relate these to trace containment and R. Milner's (1971) notion of simulation and deduce the complexity of some of the relevant algorithmic problems. The paper thus sets the stage for further research on behavioral inheritance.
The object-Process Methodology (OPM) specifies both graphically and textually the system's static-structural and behavioral-procedural aspects through a single unifying model. This model singularity is contrasted ...
详细信息
The object-Process Methodology (OPM) specifies both graphically and textually the system's static-structural and behavioral-procedural aspects through a single unifying model. This model singularity is contrasted with the multimodel approach applied by existing object-oriented system analysis methods. These methods usually employ at least three distinct models for specifying various system aspects - mainly structure, function, and behavior. object Modeling Technique (OMT), the main ancestor of the Unified Modeling Language (UML), extended with Timed Statecharts, represents a family of such multimodel object-oriented methods. Two major open questions related to model multiplicity vs. model singularity have been 1) whether or not a single model, rather than a combination of several models, enables the synthesis of a better system specification and 2) which of the two alternative approaches yields a specification that is easier to comprehend. In this study, we address these questions through a double-blind controlled experiment. To obtain conclusive results, real-time systems, which exhibit a more complex dynamic behavior than nonreal-time systems were selected as the focus of the experiment. We establish empirically that a single model methodology - OPM - is more effective than a multimodel one - OMT - in terms of synthesis. We pinpoint specific issues in which significant differences between the two methodologies were found. The specification comprehension results show that there were significant differences between the two methods in specific issues.
Two methodologies and technologies are integrated in this paper: distributed object-orientedprogramming and visual programming with object-oriented Petri nets (OOPNs). Distributed object-oriented systems are represen...
详细信息
Two methodologies and technologies are integrated in this paper: distributed object-orientedprogramming and visual programming with object-oriented Petri nets (OOPNs). Distributed object-oriented systems are represented by means of active objects, called actors. A formal specification of actors is achieved by means of OOPNs, which are based on colored Petri nets enriched by the object-oriented paradigm. We combine these methods into a single methodology for the formal specification of distributed systems with actors by means of OOPNs. OOPNs are based on viewing objects as active servers that offer re-entrant services to other objects. A class consists of an object net, describing the internal activity, and several method nets, describing the services the class provides to other classes.
This paper concerns automated analysis of the meaning or semantics of scientific and engineering code. The procedure involves taking a user's existing code, adding semantic declarations for some primitive variable...
详细信息
ISBN:
(纸本)9780769507101
This paper concerns automated analysis of the meaning or semantics of scientific and engineering code. The procedure involves taking a user's existing code, adding semantic declarations for some primitive variables, and automatically identifying formulae. Parsers encode domain knowledge and recognize formulae in different disciplines including physics, numerical methods, mathematics, and geometry. The parsers will automatically recognize and document some static, semantic concepts and help locate some program semantic errors. Results are shown for three intensively studied codes and seven blind test cases; all test cases are state of the art scientific codes. These techniques may apply to a wider range of scientific codes. If so, the techniques could reduce the time, risk, and effort required to develop and modify scientific codes.
暂无评论