Software engineers are always looking for ways to improve modularity in software. Doing so makes software easier to develop and maintain and improves its overall quality. Recently, aspect-orientedprogramming emerged ...
详细信息
Software engineers are always looking for ways to improve modularity in software. Doing so makes software easier to develop and maintain and improves its overall quality. Recently, aspect-orientedprogramming emerged as a new modularity technique that aims to cleanly separate the implementation of crosscutting concerns (requirements and design elements that affect multiple modules). AOP is an evolutionary step that improves the implementation\'s comprehensibility and simplifies incorporating new requirements as well as changes to existing ones. This systematic approach promises direct mapping of requirements and design intentions to the implementation. Such a mapping lets you trace the reasoning behind a piece of code\'s existence. Efficiently implementing crosscutting concerns also has an important indirect benefit: it frees resources to concentrate on the quality of the core implementation. All these factors work together to improve software quality.
Microsoft's net platform provides a runtime environment for code, but its real power comes from tools and support for network and database applications.
Microsoft's net platform provides a runtime environment for code, but its real power comes from tools and support for network and database applications.
Individual-based models provide powerful tools to model complex interactions characterized by individual variability. This paper presents an object-oriented design for individual-based modelling of Plasmodium falcipar...
详细信息
Individual-based models provide powerful tools to model complex interactions characterized by individual variability. This paper presents an object-oriented design for individual-based modelling of Plasmodium falciparum malaria transmission. Two kinds of objects, human and mosquito, that exhibit variability among individuals for parameters such as recovery and survival rates are defined. The model tracks the dynamics of human hosts and adult female mosquitoes individually. Immunity, modelled as a function of exposure history, is represented by reduced susceptibility and increased recovery rate. The model was calibrated using epidemiological data collected at 30 sites along the coast of Kenya. The sites were grouped into low, intermediate and high transmission based on mean daily human-biting rates. Simulation results show that malaria transmission was stable even in low transmission areas where the human-biting rate is approximately 0.5 bite per day. The model was used to examine the effect of infection control programmes that aim at interrupting transmission by reducing human-vector contact rates and implementing active case detection and drug treatment of infections. With this intervention, local elimination of malaria is likely with a probability of extinction of approximately 0.8 in low transmission areas. However, a small amount of immigration (> 0.3%) by infected people into the community could prevent local extinction of the parasite. In intermediate and high transmission areas, reduction in prevalence is short-lived and the probability of local elimination is low, even at high coverage levels of the intervention.
The material presented is to introduce how an advanced object-oriented programming (OOP) technique can be applied to an automatic machine workshop. It is a user-friendly and well-manipulated software which uses a sema...
详细信息
The material presented is to introduce how an advanced object-oriented programming (OOP) technique can be applied to an automatic machine workshop. It is a user-friendly and well-manipulated software which uses a semantic net of information representation by applying a hierarchy of various object components and/or structures. It has already been proven to be a very useful software concept in handling a flexible, automatic manufacturing system. In order to discuss further the application of the OOP concept in detail, an automatic machine workshop is used as an example to illustrate the applications. It is found that this kind of object-based approach offers a swift tool to integrate objects into a manufacturing environment to make the control of an automatic machine workshop possible. (C) 2000 Elsevier Science S.A. All rights reserved.
Industry and academe are characterized by steadily increasing huge amounts of data with very different data structures. Both static and dynamic data contexts need to be addressed. A new generic, flexible and comprehen...
详细信息
Industry and academe are characterized by steadily increasing huge amounts of data with very different data structures. Both static and dynamic data contexts need to be addressed. A new generic, flexible and comprehensive general data-modelling concept is needed to cope with these demands. During the past 20 years, object-oriented programming (OOP) has become a de facto industry standard of how programming tasks should be defined and carried out in the context of deterministic data modelling. We present here a first framework of analogous ideas for multivariate data analysis. A new strategy, object-oriented data modelling (OODM), is proposed which is invariant with respect to the specific data structures and the practical data context. We present a first delineation of meta-principles, ideas and stimulants for tomorrow's possible development paths of modelling, in which the fundamental data analysis unit is the generalized 'PLS object' in the OOP sense. The key novel aspect concerns inter-object information transfer, facilitated by 'root-sum-of-squares averaging' (RSSA), which uses w loading weights as between-object transfer agents. These features allow a powerful generalization beyond multiblock as well as hierarchical bilinear modelling to be laid out. The present part I outlines a first framework for the new data-modelling approach, while part II forms a complementing catalogue of specific options and possibilities when implementing the new principles. Copyright (C) 2003 John Wiley Sons, Ltd.
We present the kernel language approach;a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uni...
详细信息
ISBN:
(纸本)140207266X
We present the kernel language approach;a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uniform setting that shows their deep relationships and how to use them together. Widely different practical languages (exemplified by Java, Haskell, Prolog, and Erlang) with their rich panoplies of abstractions and syntax are explained by straightforward translations into closely related kernel languages, simple languages that consist of small numbers of programmer-significant concepts. Kernel languages are easy to understand and have a simple formal semantics that can be used by practicing programmers to reason about correctness and complexity.
There are several methods measuring the complexity of object-oriented programs. Most of them are based on some special object-oriented feature: number of methods/classes, cohesion of classes, inheritance, etc. In prac...
详细信息
There are several methods measuring the complexity of object-oriented programs. Most of them are based on some special object-oriented feature: number of methods/classes, cohesion of classes, inheritance, etc. In practice, however, object-oriented programs are constructed with the help of the same control structures as traditional ones. Moreover, recent ideas of multiparadigm programming (i.e., emerging use of generic programming and aspect-orientedprogramming) has the effect that in modern programs-and even in class libraries-object-orient at ion is only one (however major) construction tool among others. An adequate measure therefore should not be based on special features of one paradigm, but on basic language elements and construction rules which could be applied to many different paradigms. In our model discussed here, the complexity of a program is the sum of three components: the complexity of its control structure, the complexity of data types used, and the complexity of the data handling (i.e., the complexity of the connection between the control structure and the data types). We suggest a new complexity measure. First, we show that this measure works well on procedural programs, and then we extend it to object-oriented programs. There is a software tool under development based on gnu g++ compiler which computes our new measure. We can apply this tool to C and C++ sources to gain a number of quantitative results with our measure. (C) 2003 Elsevier Ltd. All rights reserved.
In this study, a software package is introduced, which has been developed to monitor and administer preventive maintenance activities for healthcare devices and system components in a hospital to provide uninterruptib...
详细信息
In this study, a software package is introduced, which has been developed to monitor and administer preventive maintenance activities for healthcare devices and system components in a hospital to provide uninterruptible operation in a computer-aided fashion. This software with its object-oriented and graphic user interface (GUI) nature aims to standardize preventive maintenance activities while providing overall optimization of material used in preventive maintenance activities;personnel administers the maintenance and time dedicated for the activities.
This paper is to solve the optimal switching operation considering the stochastic load models by object-oriented programming for the Distribution Automation System in Taiwan Power Company. The attributes of 4-way line...
详细信息
ISBN:
(纸本)0780363388
This paper is to solve the optimal switching operation considering the stochastic load models by object-oriented programming for the Distribution Automation System in Taiwan Power Company. The attributes of 4-way line switches in the underground distribution network are defined to store the information of switch on-off status, current loading phase voltage, and the up and down stream line switches. With the object-oriented programming, the distribution network configuration can be easily identified by connectivity trace according to the line switch status. Besides, the current flows of line switches can be updated when the optimal switching operation is performed to balance the loads on feeders and reduce the risk of overloads. The optimal switching operations perform the load transfer among the feeders and main transformers to achieve the load balance and loss minimization. To support these functions more effectively the stochastic load models of service customers are derived. The probabilistic load flows of line switches are solved by the stochastic power system analysis. By this manner, the dynamic load behavior can be included in the derivation of optimal switching operation. In this paper, the binary integer programming which incorporated with probabilistic load flow is proposed to help system operators determine the optimal switching operation and to balance the loading of feeders. The current flows of line switches and feeder configuration are updated according to the switching operation. In this study, the practical distribution system feeders are selected for computer simulation to demonstrate the effectiveness of the proposed methodology to solve the optimal switching operation.
In an evolving software system, components must be able to change independently while remaining compatible with their peers. One obstacle to independent evolution is the brittle parameter problem: the ability of two c...
详细信息
In an evolving software system, components must be able to change independently while remaining compatible with their peers. One obstacle to independent evolution is the brittle parameter problem: the ability of two components to communicate can depend on a number of inessential details of the types, structure, and/or contents of the values communicated. If these details change, then the components can no longer communicate, even if the essential parts of the message remain unaffected. We present HydroJ, an extension of Java that addresses this problem. In HydroJ, components communicate using self-describing, semi-structured messages, and programmers use pattern matching to define the handling of messages. This design stems from two central ideas: first, that self-describing messages reduce dependence on inessential message format details;and second, that object-oriented pattern matching naturally focuses on the essential information in a message and is insensitive to inessential information. We have developed these ideas in the context of Rain, a distributed, heterogeneous messaging system for ubiquitous computing. To evaluate the design, we have constructed a prototype HydroJ compiler, implemented some Rain services in HydroJ, studied the evolution of an existing Rain service over time, and formalized HydroJ's key features in a core language.
暂无评论