The efficiency of object-oriented programs has become a point of great interest, One necessary factor for program efficiency is the optimization techniques involved. This paper presents the performance of several vari...
详细信息
The efficiency of object-oriented programs has become a point of great interest, One necessary factor for program efficiency is the optimization techniques involved. This paper presents the performance of several variations of a given C++ program and compares them with a version that uses no object-oriented features, Our result indicates that some object-oriented features in C++ are not well optimized in current C++ compilers. We thus discuss some code optimization techniques that can improve the efficiency based on the given C++ program.
An object-oriented microwave circuit simulation environment is described. The design of the program is intended to offer flexibility,without sacrificing efficiency. Recent developments in object-oriented techniques an...
详细信息
An object-oriented microwave circuit simulation environment is described. The design of the program is intended to offer flexibility,without sacrificing efficiency. Recent developments in object-oriented techniques and in C++ compilers are used to obtain a flexible and robust system ideally suited to the development of a global modeling strategy for the integration of circuit, field, thermal, and mechanical analyses. The simulation of spatial power combining systems is used as a vehicle to illustrate the architectural developments of the system. (C) 2000 John Wiley & Sons, Inc.
This paper discusses the development of a set of object-oriented modular simulation tools for solving lumped and spatially distributed models generated from chemical process design and simulation problems. Developed i...
详细信息
This paper discusses the development of a set of object-oriented modular simulation tools for solving lumped and spatially distributed models generated from chemical process design and simulation problems. Developed in the context of simulating semiconductor manufacture equipment, this framework reduces the software development cycle time associated with designing process systems and it improves the overall efficiency of the simulator development process. Modularized simulator components can be solved and analyzed individually, as well as formed into modular systems that can be solved using sequential or simultaneous approaches. A tungsten chemical vapor deposition simulation application is presented to illustrate the capability of the proposed tools in facilitating an evolutionary simulation approach. (c) 2006 Elsevier Ltd. All rights reserved.
This study develops and empirically tests the idea that the impact of structural complexity on perfective maintenance of object-oriented software is significantly determined by the team strategy of programmers (indepe...
详细信息
This study develops and empirically tests the idea that the impact of structural complexity on perfective maintenance of object-oriented software is significantly determined by the team strategy of programmers (independent or collaborative). We analyzed two key dimensions of software structure, coupling and cohesion, with respect to the maintenance effort and the perceived ease-of-maintenance by pairs of programmers. Hypotheses based on the distributed cognition and task interdependence theoretical frameworks were tested using data collected from a controlled lab experiment employing professional programmers. The results show a significant interaction effect between coupling, cohesion, and programmer team strategy on both maintenance effort and perceived ease-of-maintenance. Highly cohesive and low-coupled programs required lower maintenance effort and were perceived to be easier to maintain than the low-cohesive programs and high-coupled programs. Further, our results would predict that managers who strategically allocate maintenance tasks to either independent or collaborative programming teams depending on the structural complexity of software could lower their team's maintenance effort by as much as 70 percent over managers who use simple uniform resource allocation policies. These results highlight the importance of achieving congruence between team strategies employed by collaborating programmers and the structural complexity of software.
The authors present a suite to assist in the creation of musical pieces, whose foundation lies on fractals, fuzzy logic and expert systems. Even though algorithmic music has been explored, some gaps still exist. The f...
详细信息
The authors present a suite to assist in the creation of musical pieces, whose foundation lies on fractals, fuzzy logic and expert systems. Even though algorithmic music has been explored, some gaps still exist. The favored approach has consisted in mapping numbers to notes to create appealing pieces. This, we contend, is a necessary but not a sufficient condition. Our suite, besides the necessary mapping, possesses the following advantages. First, it is possible to define notes, tempos, and notes durations. Notes evolve according to the selected fractal. Tempos and durations can remain fixed or they also can follow a fractal. Second, it is possible to translate the resultant fractal notes into notes belonging to a musical scale. This is done by firing appropriate rules in a rule base. Third, interpretation templates are provided. Also, melodies or harmonies are available. The suite currently contains several known fractal systems, and we also proposed one dynamical, recursive computation based on Mamdani fuzzy rule bases. The suite we present helps promoting and monitoring the creative process of composing musical scores. The actual implementation of the suite was done on the Java language. (C) 2012 Elsevier Ltd. All rights reserved.
A recent paradigm in software engineering is object-oriented software development. However, object-oriented methods still remain ad hoc, and the process of deriving an object-oriented design from the early analysis ha...
详细信息
A recent paradigm in software engineering is object-oriented software development. However, object-oriented methods still remain ad hoc, and the process of deriving an object-oriented design from the early analysis has not yet been formalised. In this paper, we advocate deriving a formal specification from informal requirements, conducting static analysis on the formal functional specifications to reason about the intended behaviour of the system, and then transforming the flat specification to an object-oriented design. The transformations discussed in this paper can be formalised and can be applied to any model-oriented specification to get a corresponding object-oriented design. The methodology is illustrated for a simple library management system using the model-oriented specification technique VDM.
This paper describes the object-oriented implementation of a number of low-level image processing algorithms on the Intel iPSC/2 hypercube multicomputer. They include noise reduction using local averaging, edge detect...
详细信息
This paper describes the object-oriented implementation of a number of low-level image processing algorithms on the Intel iPSC/2 hypercube multicomputer. They include noise reduction using local averaging, edge detection using the Sobel operator, image thinning and line detection using the Hough transform. The objective is to parallelize these algorithms using the object-oriented language C++, and to measure the speedup using 2, 4, 8, 16 and 32 processors vs using 1 processor. Also, the speedup is found for performing all of the algorithms in a row, vs separately. A 512 x 512 binary image is processed, and a maximum speedup of 5.88 is found when performing all of the algorithms in a row, including communication of the input data file from the host, and the results from the nodes to the host. The speedup for processing when including only interprocessor communication is 17.25. The reasons behind the speedups are discussed, as well as suggestions to obtain better performance.
In this paper we propose a new mechanism for Dynamic Rebinding, a particular kind of Dynamic Software Updating that focuses on modifying the workflow of a program. This mechanism is built upon the concurrency model of...
详细信息
In this paper we propose a new mechanism for Dynamic Rebinding, a particular kind of Dynamic Software Updating that focuses on modifying the workflow of a program. This mechanism is built upon the concurrency model of Concurrent object Groups that is adopted in programming languages like Coboxes, Creol or ABS. Using this model, which extends and solves some of the limitations of Active objects, it becomes possible for an update to wait for the program to reach a local quiescent state and then perform the update without creating any inconsistency in the program's state. We validate our mechanism by formally proving that i) no updates are performed when the program has not reached a local quiescent state, ii) an update is guaranteed to be applied if we first wait for the program to reach a local quiescent state, and iii) it is possible to perform different updates atomically. We also provide a type system that checks the good usage of the rebinding operator. We implemented a prototype supporting our mechanism in the toolchain of the ABS language, and we tested the implementation by supporting dynamic changes in the server policy of an industrial case study from the eCommerce Fredhopper platform, offered by SDL. Without our rebinding mechanism, supporting such dynamic changes in a provably correct manner would not have been so simple. Finally, we developed an implementation of type checking for the ABS language extended with our rebinding primitives, and successfully tested it for the case study discussed in the paper. (C) 2016 Elsevier Inc. All rights reserved.
The past 20 years have seen a proliferation of numerical models in response to a need From governments, industry and researchers for tools that can simulate or predict environmental processes. Although this has led to...
详细信息
The past 20 years have seen a proliferation of numerical models in response to a need From governments, industry and researchers for tools that can simulate or predict environmental processes. Although this has led to significant scientific advances, in constructing such models code developers duplicate many basic tasks and functions. Ultimately therefore, the spread of progress is artificially restricted and the central focus of scientific activity may be misplaced. In this paper we examine the potential use of object-oriented programming techniques to overcome this problem and facilitate easy code reuse and maintenance in the face of rapid advances in numerical analysis research. In particular, we discuss the extent to which objectorientedprogramming styles have an affinity for numerical environmental problems that traditional procedural programming styles do not share. We illustrate this through the development of one, two and three-dimensional finite element models for unsaturated groundwater flow using an objectoriented environment developed originally for the solution of the Shallow Water equations. The complexity and quality of the solution that could be developed in a relatively limited period is demonstrated through comparison to three analytical test cases described in the literature. Copyright (C) 2000 John Wiley & Sons, Ltd.
In object-oriented systems, runtime memory is composed of an object graph in which objects refer to other objects. This graph of objects evolves while the system is running. Graph exporting and swapping are two import...
详细信息
In object-oriented systems, runtime memory is composed of an object graph in which objects refer to other objects. This graph of objects evolves while the system is running. Graph exporting and swapping are two important object graph operations. Exporting refers to copying the graph to some other memory so that it can be loaded by another system. Swapping refers to moving the graph to a secondary memory (e.g., a hard disk) to temporary release part of the primary memory (e.g., RAM). Exporting and swapping are achieved in different ways and the speed in the presence of large object graphs is critical. Nevertheless, most of the existing solutions do not address well this issue. Another challenge is to deal with common situations where objects outside the exported/swapped graph point to objects inside the graph. To correctly load back an exported subgraph, it is necessary to compute and export extra information that is not explicit in the object subgraph. This extra information is needed because certain objects may require to be reinitialized or recreated, to run specific code before or after the loading, to be updated to a new class definition, etc. In this paper, we present all general problems to our knowledge about object exporting and swapping. As a case of study, we present an analysis of ImageSegment, a fast solution to export and swap object graphs, developed by Ingalls. ImageSegment addresses the speed problems in an efficient way, as shown by the results of several benchmarks we have conducted using Pharo Smalltalk. However, ImageSegment is not a panacea since it still has other problem that hampers its general use. (C) 2011 Elsevier Ltd. All rights reserved.
暂无评论