This paper presents a mechanism that facilitates and enhances the use of independently administered remote network servers in the presence of server interface heterogeneity. The mechanism is designed under the client-...
详细信息
This paper presents a mechanism that facilitates and enhances the use of independently administered remote network servers in the presence of server interface heterogeneity. The mechanism is designed under the client-service model, which extends the client-server model with an abstraction of service to decouple abstract server capabilities from concrete server interface specifics such as server interface binding protocols and the interface operation invocation protocols. The mechanism selects servers, accommodates server interface heterogeneity, and handles server access failures as per the abstract server capabilities desired by the client. It could return the identity of the server used for each service access invocation to facilitate billing, refining service specifications, and reporting server-specific errors. This paper also illustrates a C library interface to this mechanism, and describes a language veneer over the C programming language demonstrating bow a typed procedural language could be extended by a few language constructs to support the mechanism under the client-service model. In this language, server capabilities are referenced by abstract data type (ADT) objects, and are accessed by invoking the objects' interface operations using a call-by-value-result paradigm. This language veneer also makes it easier to port the client software across to systems that use different service specification schemes. Our work suggests that this mechanism facilitates the development, use, and maintenance of client and server software in large heterogeneous distributed systems comprising many autonomous servers. It also shows that the overhead of invoking remote server operations via the mechanism can be quite low.
Reverse engineering software systems has become a major concern in software industry because of their sheer size and complexity. This problem needs to be tackled since the systems in question are of considerable worth...
详细信息
Reverse engineering software systems has become a major concern in software industry because of their sheer size and complexity. This problem needs to be tackled since the systems in question are of considerable worth to their owners and maintainers. In this article, we present the concept of a polymetric view, a lightweight software visualization technique enriched with software metrics information. Polymetric views help to understand the structure and detect problems of a software system in the initial phases of a reverse engineering process. We discuss the benefits and limits of several predefined polymetric views we have implemented in our tool CodeCrawler. Moreover, based on clusters of different polymetric views, we have developed a methodology which supports and guides a software engineer in the first phases of a reverse engineering of a large software system. We have refined this methodology by repeatedly applying it on industrial systems and illustrate it by applying a selection of polymetric views to a case study.
Modern systems for the analysis of image-based biomedical data, such as functional magnetic resonance imaging (fMRI), require fast computational techniques and rapid, robust development. object-oriented programming la...
详细信息
Modern systems for the analysis of image-based biomedical data, such as functional magnetic resonance imaging (fMRI), require fast computational techniques and rapid, robust development. object-oriented programming languages such as Java and C++ provide the foundations for the development of complex data analysis applications. This case study explores the advantages and disadvantages of using these two programming environments for scientific computation as typified in the analysis of fMRI datasets. C++ is well suited for computational and memory optimization while Java is more compliant to the object-oriented paradigm, supports cross-platform development and has a rich set of application programming interface (API) classes. The same data model and algorithms were implemented in C++ and Java, and a user interface was developed with the Java API. Comparisons were made with respect to computational performance and ease of development. Benchmarks show that C++ generally outperforms Java, while Java is easier to use, leading to more robust code and shorter development times. However, with the advent of newer just-in-time compilers, Java performance is at times comparable to C++. The latest Java virtual machine technology is closing the gap and eventually Java should be a good compromise between efficient algorithm performance and effective application development. Copyright (C) 2004 John Wiley Sons, Ltd.
Water problems are omnipresent and are already becoming a limiting factor in the development of many countries. Currently the balance between the available and required water in Egypt is fragile. Any movement away fro...
详细信息
Water problems are omnipresent and are already becoming a limiting factor in the development of many countries. Currently the balance between the available and required water in Egypt is fragile. Any movement away from the balancing point means either less ambitious economic development or depletion of the resources and degradation of the environment. The continuing revolution in computer hardware and software is expected to provide more insight into the water problems and to alleviate some of the future water crises. In this paper we have investigated potential benefits which can be accrued from the application of object-oriented modeling in water resources.
Multimedia is an art form that uses computers as a means of personal expression. However, much multimedia content is unattractive, and many applications have poor user interfaces because many developers don't have...
详细信息
Multimedia is an art form that uses computers as a means of personal expression. However, much multimedia content is unattractive, and many applications have poor user interfaces because many developers don't have training in both programming and content creation. To counteract this, we teach students QuickTime for Java, which provides a rich library for manipulating media. Our students reported an increased understanding of multimedia programming and developed creative skills.
Simulation by a software model, is one of the most frequently used techniques for the analysis and design of manufacturing systems. In the software engineering research area, the object-oriented approach has fully dem...
详细信息
Simulation by a software model, is one of the most frequently used techniques for the analysis and design of manufacturing systems. In the software engineering research area, the object-oriented approach has fully demonstrated to be an effective technique with respect to the design and implementation phases of complex software projects. Even if object-oriented programming has proven to be a powerful technique, a systematic design method should also be used in order to implement reliable software, in particular in the development of simulation models. This paper presents a new procedure to develop flexible manufacturing system (FMS) simulation models, based on the UML analysis/design tools and on the ARENA(R) simulation language. The two main features of the proposed procedure are the definition of a systematic conceptual procedure to design FMS simulation models and of a set of rules for the conceptual model translation in a simulation language. The goal is to improve the software development efficiency through a rule-based approach and to add some of the fundamental object-oriented features to the ARENA(R) simulation environment. (C) 2002 Elsevier Science B.V. All rights reserved.
object-oriented programming is a suitable technique for representation of concepts and so is convenient for description of (computer) simulation models, as the description can be near to that of simulated systems. Dyn...
详细信息
object-oriented programming is a suitable technique for representation of concepts and so is convenient for description of (computer) simulation models, as the description can be near to that of simulated systems. Dynamics of simulated systems is often subject to complex control rules with their support being one or more elements belonging to the same system. The description of behaviour of such elements needs often object-oriented representation of concepts that are applied in the control. These concepts belong to a 'world viewing' that is ontologically quite different from that used in the description of the simulated system. An extreme case is a simulation of a system that contains a controlling element that itself applies simulation for anticipating future consequences of the element decision. This paper is dedicated to application of languages that are not only objectoriented but also process oriented and block oriented. Some existing and prepared applications are presented too.
Numerical results can be conveyed effectively to any one using an object-oriented framework. Therefore, it becomes essential to couple the object-oriented approach with numerical analysis. A simple object-oriented met...
详细信息
Numerical results can be conveyed effectively to any one using an object-oriented framework. Therefore, it becomes essential to couple the object-oriented approach with numerical analysis. A simple object-oriented methodology for creating a graphical user interface (GUI) as a framework is presented. This work tries to fill a gap between scientific computer code written in a noninteractive way and interactive programming in materials processing. The GUI interface framework has been created in such a way that at any point of time one need not create a new GUI framework. The user only needs to create the process object and attach it to the framework. Two examples have been presented involving interactive finite volume-based gas carburizing and interactive finite difference-based Acheson process (used for the production of silicon carbide).
This paper presents results from a quasi-experiment that investigates how the sequence in which maintenance tasks are performed affects the time required to perform them and the functional correctness of the changes m...
详细信息
This paper presents results from a quasi-experiment that investigates how the sequence in which maintenance tasks are performed affects the time required to perform them and the functional correctness of the changes made. Specifically, the study compares how time required and correctness are affected by (1) starting with the easiest change task and progressively performing the more difficult tasks (Easy-First), versus (2) starting with the most difficult change task and progressively performing the easier tasks (Hard-First), In both cases, the experimental tasks were performed on two alternative types of design of a Java system to assess whether the choice of the design strategy moderates the effects of task order on effort and correctness. The results show that the time spent on making the changes is not affected significantly by the task order of the maintenance tasks, regardless of the type of design. However, the correctness of the maintainability tasks is significantly higher when the task order of the change tasks is Easy-First compared to Hard-First, again regardless of design. A possible explanation for the results is that a steeper learning curve (Hard-First) causes the programmer to create software that is less maintainable overall. (C) 2008 Elsevier B.V. All rights reserved.
A rapid-calculation nonlinear model of switched reluctance drives system (SRD) is modularly developed based on Dymola, a new object-oriented modeling software. The SRD is constructed as a subsystem model for the aircr...
详细信息
A rapid-calculation nonlinear model of switched reluctance drives system (SRD) is modularly developed based on Dymola, a new object-oriented modeling software. The SRD is constructed as a subsystem model for the aircraft electrical system model library. The purpose is to build a generic, expandable, and relatively complete airborne power system model library, then conveniently assemble a system-level model of airborne power system to simulate its dynamic performance, and then alleviate the difficulty in design and optimization of airborne power system during the conceptual design phase.
暂无评论