We introduce component-orientedprogramming as a new level of object-orientedprogramming over GRID and present a component framework for the DG-ADAJ (Desktop GRID - Adaptive Distributed Application in Java). DG-ADAJ ...
详细信息
The paper addresses dynamic allocation of objects in a distributed object-oriented (OO for short) programming environment, in particular Parallel objects (PO for short). Intrinsic dynamicity of OO programming makes it...
详细信息
This paper describes a new data abstraction mechanism in an object-oriented model of computing. The data abstraction mechanism described here has been devised in the context of the design of Sina/st language. In Sina/...
详细信息
ISBN:
(纸本)0897912845
This paper describes a new data abstraction mechanism in an object-oriented model of computing. The data abstraction mechanism described here has been devised in the context of the design of Sina/st language. In Sina/st no language constructs have been adopted for specifying inheritance or delegation, but rather, we introduce simpler mechanisms that can support a wide range of code sharing strategies without selecting one among them as a language feature. Sindst also provides a stronger data encapsulation than most of the existing object-oriented languages. This language has been implemented on the SUN 3 workstation using Smalltalk.
The object Model Creation Process (OMCP) is considered a major task in object-oriented Analysis and Design (OOAD). In the Rational Unified Process (RUP), objects and classes are identified from the use case model, whi...
详细信息
The object Model Creation Process (OMCP) is considered a major task in object-oriented Analysis and Design (OOAD). In the Rational Unified Process (RUP), objects and classes are identified from the use case model, which is a combination of the Use Case diagram and the Use Case Specification (UCS) document. The automation of the generation of the class model assumes that the UCS is complete, accurate and unambiguous. However, in reality, the UCS is written in free form natural language and is therefore likely ambiguous and complex. To avoid this problem, use case templates and guidelines are proposed for writing UCS. This paper presents a methodology to automate the transition from stakeholders' requests to the use case model. The methodology uses a natural language parser to parse stakeholders' requests according to various guidelines. The automation process is discussed with an example.
Two promising optimization techniques for object-oriented languages are type feedback (profile-based receiver class prediction) and concrete type inference (static analysis). We directly compare the two techniques, ev...
详细信息
Statement coverage is a widely accepted approach to software testing for both non object-oriented and object-orientedprogramming methodology. A number of coverage criteria have been proposed specifically for testing ...
详细信息
ISBN:
(纸本)9781617820267
Statement coverage is a widely accepted approach to software testing for both non object-oriented and object-orientedprogramming methodology. A number of coverage criteria have been proposed specifically for testing object-oriented programs;however, none of these proposed criteria has been widely accepted. Statement coverage is still used as the "first step" for testing object-oriented programs. The object-orientedprogramming technique has introduced the concept of object-oriented faults that are different from the traditional faults that occur in the non object-oriented programs. As there are significant differences between these types of programming techniques, it is beneficial to analyze if using the same coverage criterion i.e. statement coverage would be sufficient or if a different criterion should be used beyond statement coverage criterion to find some of these object-oriented faults. Pair-wise coverage criterion is used to analyze the faults that are not found by statement coverage criterion.
Goal-directed evaluation is a paradigm that combines the power of generators with backtracking search. In goal-directed evaluation every expression is a generator that produces a sequence of values or fails, and opera...
详细信息
ISBN:
(纸本)9781450337397
Goal-directed evaluation is a paradigm that combines the power of generators with backtracking search. In goal-directed evaluation every expression is a generator that produces a sequence of values or fails, and operations search to find successful results over the product space of their operands. Introduced in the influential dynamic language Icon and later refined in its object-oriented descendent Unicon, goal-directed evaluation is difficult to formalize and implement. In particular grafting goal-directed evaluation onto other languages in a manner that provides seamless interoperability has remained an elusive challenge. We present a novel approach to embedding goal-directed evaluation into existing object-oriented languages based on program transformation. We first introduce a form of annotations for multi-language integration, called scoped annotations, that allow mixing in functionality at the level of expressions, methods, or classes. Transformations over the annotated regions then unravel the syntax of generator expressions to a conventional form by flattening nested generators and making iteration explicit in order to enable native evaluation. To demonstrate the utility of the approach, we have implemented the transformations for Java as well as its dynamic analogue Groovy, and housed them in an interpretive harness that realizes both an interactive extension of Groovy as well as a translator of embedded goal-directed evaluation into Java.
Traits are an object-orientedprogramming language construct that allow groups of methods to be named and reused in arbitrary places in an inheritance hierarchy. Classes can use methods from traits as well as defining...
详细信息
Traits are an object-orientedprogramming language construct that allow groups of methods to be named and reused in arbitrary places in an inheritance hierarchy. Classes can use methods from traits as well as defining their own methods and instance variables. Traits thus enable a new style of programming, in which traits rather than classes are the primary unit of reuse. However, the additional sub-structure provided by traits is always optional: a class written using traits can also be viewed as a flat collection of methods, with no change in its semantics. This paper describes the tool that supports these two alternate views of a class, called the traits browser, and the programming methodology that we are starting to develop around the use of traits.
Controlling software systems autonomously has been a challenging research area. Modern autonomous systems are guided by a plan, which is a sequence of actions to take to achieve a goal. Many planning algorithms exist ...
详细信息
An open source implementation of the pseudospectral time-domain method for the propagation of sound is presented, which is geared towards applications in the built environment. Being a wavebased method, PSTD captures ...
详细信息
ISBN:
(纸本)9788361402282
An open source implementation of the pseudospectral time-domain method for the propagation of sound is presented, which is geared towards applications in the built environment. Being a wavebased method, PSTD captures phenomena like diffraction, but maintains efficiency in processing time and memory usage as it allows to spatially sample close to the Nyquist criterion, thus keeping both the required spatial and temporal resolution coarse. As a first step, in this implementation it has been opted to model the boundary geometry as a composition of rectangular two-dimensional subdomains, hence initially restricting the implementation to orthogonal and two-dimensional situations. The strategy of using subdomains divides the problem domain into local subsets, which enables the simulation software to be built according to object-orientedprogramming best practices and allows room for further computational parallelization. The software is built using the open source components, Blender, Numpy and Python, and has been published under an open source license itself as well. Research is still being done on strategies to model non-orthogonal geometries and curvilinear grid generation to allow arbitrary geometries as input. Furthermore, impedance boundary conditions and source directivity will be added in subsequent installments, based on current ongoing research, as well as local grid refinement, a moving medium and further performance improvements by implementing GPU computing. Especially when the implementation is extended into a three-dimensional solution, these performance improvements are expected to be essential in order to be fast enough to ensure usability in practice.
暂无评论