We present pyMDO, an object-oriented framework that facilitates the usage and development of algorithms for multidisciplinary optimization (MDO). The resulting implementation of the MDO methods is efficient and portab...
详细信息
We present pyMDO, an object-oriented framework that facilitates the usage and development of algorithms for multidisciplinary optimization (MDO). The resulting implementation of the MDO methods is efficient and portable. The main advantage of the proposed framework is that it is flexible, with a strong emphasis on object-oriented classes and operator overloading, and it is therefore useful for the rapid development and evaluation of new MDO methods. The top layer interface is programmed in Python and it allows for the layers below the interface to be programmed in C, C++, Fortran, and other languages. We describe an implementation of pyMDO and demonstrate that we can take advantage of object-oriented programming to obtain intuitive, easy-to-read, and easy-to-develop codes that are at the same time efficient. This allows developers to focus on the new algorithms they are developing and testing, rather than on implementation details. Examples demonstrate the user interface and the corresponding results show that the various MDO methods yield the correct solutions.
Anasazi is a package within the Trilinos software project that provides a framework for the iterative, numerical solution of large-scale eigenvalue problems. Anasazi is written in ANSI C++ and exploits modern software...
详细信息
Anasazi is a package within the Trilinos software project that provides a framework for the iterative, numerical solution of large-scale eigenvalue problems. Anasazi is written in ANSI C++ and exploits modern software paradigms to enable the research and development of eigensolver algorithms. Furthermore, Anasazi provides implementations for some of the most recent eigensolver methods. The purpose of our article is to describe the design and development of the Anasazi framework. A performance comparison of Anasazi and the popular FORTRAN 77 code ARPACK is given.
What do you need to know to create a game for the iPhone? Even if you've already built some iPhone applications, developing games using iPhone's gestural interface and limited screen layout requires new skills...
详细信息
ISBN:
(纸本)0596159854;9780596159856
What do you need to know to create a game for the iPhone? Even if you've already built some iPhone applications, developing games using iPhone's gestural interface and limited screen layout requires new skills. With iPhone Game Development, you get everything from game development basics and iPhone programming fundamentals to guidelines for dealing with special graphics and audio needs, creating in-game physics, and much more. Loaded with descriptive examples and clear explanations, this book helps you learn the technical design issues particular to the iPhone and iPod Touch, and suggests ways to maximize performance in different types of games. You also get plug-in classes to compensate for the areas where the iPhone's game programming support is weak. Learn how to develop iPhone games that provide engaging user experiences Become familiar with objective-C and the Xcode suite of tools Learn what it takes to adapt the iPhone interface to games Create a robust, scalable framework for a game app Understand the requirements for implementing 2D and 3D graphics Learn how to add music and audio effects, as well as menus and controls Get instructions for publishing your game to the App Store
Providing you with invaluable information for delivering rich, cross-platform Internet applications within the enterprise and across the web, this book shows you how to fully integrate Java and Flex. Pages of examples...
详细信息
ISBN:
(数字)9780470493991
ISBN:
(纸本)9780470400746
Providing you with invaluable information for delivering rich, cross-platform Internet applications within the enterprise and across the web, this book shows you how to fully integrate Java and Flex. Pages of examples, step-by-step instructions, and from-the-field techniques guide you through the creation of your first Java/Flex applications.
The aim of this position paper is to draw a quick overview of the main contributions in abstract interpretation of object-oriented programs, and to draw possible lines of research in this field.
The aim of this position paper is to draw a quick overview of the main contributions in abstract interpretation of object-oriented programs, and to draw possible lines of research in this field.
This paper presents a graph-based formalism for object-oriented class structure specifications. The formalism combines labelled graphs with partial orders, to adequately model the (single) inheritance relation among o...
详细信息
This paper presents a graph-based formalism for object-oriented class structure specifications. The formalism combines labelled graphs with partial orders, to adequately model the (single) inheritance relation among objects and the overriding relation between methods within derived classes. The semantics of system extension by inheritance and aggregation is then defined as colimits in a suitable category of object-oriented system specifications and their morphisms.
This paper gives a bibliographical review of the object-oriented programming applied to the finite element method as well as to the boundary element method. The bibliography at the end of the paper contains references...
详细信息
This paper gives a bibliographical review of the object-oriented programming applied to the finite element method as well as to the boundary element method. The bibliography at the end of the paper contains references to papers, conference proceedings and theses/dissertations on the subject that were published between 1990 and 2003. The following topics are included: finite element method-object-oriented programming philosophy, mesh modelling, distributed/parallel processing, toolkits and libraries, object-oriented specific applications (aerospace, civil engineering/geomechanics, coupled problems, dynamical systems, electromagnetics, fracture mechanics and contact problems, material simulations/manufacturing, mechanical engineering, nonlinear structural simulations, optimization, others);boundary element method. Totally 408 references are listed. (C) 2004 Elsevier Ltd. All rights reserved.
Modularity is one of the most important principles in software engineering and a necessity for every practical software. Since the design space of software is generally quite large, it is valuable to provide automatic...
详细信息
Modularity is one of the most important principles in software engineering and a necessity for every practical software. Since the design space of software is generally quite large, it is valuable to provide automatic means to help modularising it. An automatic technique for software modularisation using object-oriented concept analysis (OOCA) is proposed. The proposed technique is strongly inspired by the success of reverse engineering techniques based on formal concept analysis (FCA). However, our experience shows that FCA-based techniques generally result in fine-grained modules and, thus, may be inadequate for modularising large-scale designs. To overcome this weakness, the authors employ OOCA, a recent proposal for concept formulations. OOCA enables to provide coarse concepts as module candidates while keeping the advantage of FCA techniques. To the best of the authors' knowledge, it is the first work to apply OOCA in software engineering research. To illustrate the potential of the approach, the authors perform a software modularisation case study on a real insurance software design with comparison.
The transition from Java 1.4 to Java 1.5 has provided the programmer with more flexibility due to the inclusion of several new language constructs, such as parameterized types. This transition is expected to increase ...
详细信息
The transition from Java 1.4 to Java 1.5 has provided the programmer with more flexibility due to the inclusion of several new language constructs, such as parameterized types. This transition is expected to increase the number of class clusters exhibiting different combinations of class characteristics. In this paper we investigate how the number and distribution of clusters are expected to change during this transition. We present the results of an empirical study were we analyzed applications written in both Java 1.4 and 1.5. In addition, we show how the variability of the combinations of class characteristics may affect the testing of class members. (C) 2008 Elsevier Inc. All rights reserved.
The Unified Modeling Language (UML) is the de facto standard for object-oriented software analysis and design modeling. However, few empirical studies exist which investigate the costs and evaluate the benefits of usi...
详细信息
The Unified Modeling Language (UML) is the de facto standard for object-oriented software analysis and design modeling. However, few empirical studies exist which investigate the costs and evaluate the benefits of using UML in realistic contexts. Such studies are needed so that the software industry can make informed decisions regarding the extent to which they should adopt UML in their development practices. This is the first controlled experiment that investigates the costs of maintaining and the benefits of using UML documentation during the maintenance and evolution of a real nontrivial system, using professional developers as subjects, working with a state-of-the-art UML tool during an extended period of time. The subjects in the control group had no UML documentation. In this experiment, the subjects in the UML group had, on average, a practically and statistically significant 54 percent increase in the functional correctness of changes (p = 0.03) and an insignificant 7 percent overall improvement in design quality (p = 0.22), though a much larger improvement was observed on the first change task ( 56 percent), at the expense of an insignificant 14 percent increase in development time caused by the overhead of updating the UML documentation (p = 0.35).
暂无评论