The paper describes a detailed study into the object-oriented implementation of distributed finite element analysis on desktop computers using the NET framework. The software design aspects are described in some detai...
详细信息
The paper describes a detailed study into the object-oriented implementation of distributed finite element analysis on desktop computers using the NET framework. The software design aspects are described in some detail for both direct and iterative solution algorithms. The use of interfaces played an important role in the software design. This, together with the NET framework, enabled remote objects to be implemented in a relatively seamless fashion. The solution routines were "blind" to whether the objects were local or remote. Numerical tests were carried out and reasonable speed-up was achieved, particularly for direct solution methods. It is concluded that NET provides a viable framework for implementing distributed computing on networks of personal computers. (c) 2006 Elsevier Ltd. and Civil-Comp Ltd. All rights reserved.
A total of 295 junior, intermediate, and senior professional Java consultants ( 99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to particip...
详细信息
A total of 295 junior, intermediate, and senior professional Java consultants ( 99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to participate in a controlled experiment on pair programming. The subjects used professional Java tools to perform several change tasks on two alternative Java systems with different degrees of complexity. The results of this experiment do not support the hypotheses that pair programming in general reduces the time required to solve the tasks correctly or increases the proportion of correct solutions. On the other hand, there is a significant 84 percent increase in effort to perform the tasks correctly. However, on the more complex system, the pair programmers had a 48 percent increase in the proportion of correct solutions but no significant differences in the time taken to solve the tasks correctly. For the simpler system, there was a 20 percent decrease in time taken but no significant differences in correctness. However, the moderating effect of system complexity depends on the programmer expertise of the subjects. The observed benefits of pair programming in terms of correctness on the complex system apply mainly to juniors, whereas the reductions in duration to perform the tasks correctly on the simple system apply mainly to intermediates and seniors. It is possible that the benefits of pair programming will exceed the results obtained in this experiment for larger, more complex tasks and if the pair programmers have a chance to work together over a longer period of time.
The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in...
详细信息
The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in the last several years. This paper describes several remaining challenges and approaches to their solution.
Message dispatch in object-oriented programming (OOP) involves target method lookup in dispatch table/tree. Reflective environment builds dispatch data-structure at runtime as types can be added at runtime. Hence, alg...
详细信息
Message dispatch in object-oriented programming (OOP) involves target method lookup in dispatch table/tree. Reflective environment builds dispatch data-structure at runtime as types can be added at runtime. Hence, algorithms for reflective environments require dynamic data structure for dispatch. In this paper, we propose a tree-based algorithm for multiple dispatch in reflective runtime environment. New classes can be added to the system at runtime. Proposed algorithm per-forms lookup in time proportional to log(n) times the polymorphic arguments, where n is number of classes in a system. Proposed algorithm uses type-safe approach for multimethod lookup resolving ambiguities. We compare performance of the proposed algorithm with the dispatch mechanism in commonly used virtual/reflexive systems, e.g., Java and Microsoft's Common Language Runtime (MS-CLR), in respect of efficiency and type-safety. (c) 2005 Elsevier Ltd. All rights reserved.
The design, implementation and application of a concept for object-oriented in finite element analysis of multi-field problems is presented in this paper. The basic idea of this concept is that the underlying governin...
详细信息
The design, implementation and application of a concept for object-oriented in finite element analysis of multi-field problems is presented in this paper. The basic idea of this concept is that the underlying governing equations of porous media mechanics can be classified into different types of partial differential equations (PDEs). In principle, similar types of PDEs for diverse physical problems differ only in material coefficients. Local element matrices and vectors arising from the finite element discretization of the PDEs are categorized into several types, regardless of which physical problem they belong to (i.e. fluid flow, mass and heat transport or deformation processes). Element (ELE) objects are introduced to carry out the local assembly of the algebraic equations. The object-orientation includes a strict encapsulation of geometrical (GEO), topological (MSH), process-related (FEM) data and methods of element objects. Geometric entities of an element such as nodes, edges, faces and neighbours are abstracted into corresponding geometric element objects (ELE-GEO). The relationships among these geometric entities form the topology of element meshes (ELE-MSH). Finite element objects (ELE-FEM) are presented for the local element calculations, in which each classification type of the matrices and vectors is computed by a unique function. These element functions are able to deal with different element types (lines, triangles, quadrilaterals, tetrahedra, prisms, hexahedra) by automatically choosing the related element interpolation functions. For each process of a multi-field problem, only a single instance of the finite element object is required. The element objects provide a flexible coding environment for multi-field problems with different element types. Here, the C++ implementations of the objects are given and described in detail. The efficiency of the new element objects is demonstrated by several test cases dealing with then no-hydro-mechanical (THM) cou
The Grid Services Base Library (GSBL) is a procedural application programming interface (API) that abstracts many of the high-level functions performed by Globus Grid services, thus dramatically lowering the barriers ...
详细信息
The Grid Services Base Library (GSBL) is a procedural application programming interface (API) that abstracts many of the high-level functions performed by Globus Grid services, thus dramatically lowering the barriers to writing Grid services. The library has been extensively tested and used for computational biology research in a Globus Toolkit-based Grid system, in which no fewer than twenty Grid services written with this API are deployed. (c) 2006 Elsevier B.V. All rights reserved.
Recent advances in computational protein design have established it as a viable technique for the rational generation of stable protein sequences, novel protein folds, and even enzymatic activity. We present a new and...
详细信息
Recent advances in computational protein design have established it as a viable technique for the rational generation of stable protein sequences, novel protein folds, and even enzymatic activity. We present a new and object-oriented library of code, written specifically for protein design applications in C++, called EGAD Library. The modular fashion in which this library is written allows developers to tailor various energy functions and minimizers for a specific purpose. It also allows for the generation of novel protein design applications with a minimal amount of code investment. It is our hope that this will permit labs that have not considered protein design to apply it to their own systems, thereby increasing its potential as a tool in biology. We also present various uses of EGAD Library: in the development of Interaction Viewer, a PyMOL plug-in for viewing interactions between protein residues;in the repacking of protein cores;and in the prediction of protein-protein complex stabilities. (c) 2007 Wiley Periodicals, Inc.
A precise static type analysis is important to make available dynamic aspects of object-oriented programs (OOPs) approximately known at compile-time. Many techniques have been proposed for static type analysis dependi...
详细信息
A precise static type analysis is important to make available dynamic aspects of object-oriented programs (OOPs) approximately known at compile-time. Many techniques have been proposed for static type analysis depending upon the tradeoff of cost and precision;the techniques may generate spurious possible types for a particular dynamic dispatch which makes the static type analysis imprecise. In this paper, we propose a symbolic execution based type analysis technique that analyzes the dynamic type inter-procedurally by keeping the flow of the program in consideration. We analyze test cases with different class hierarchies. The proposed technique was capable to resolve the target method for most of the dynamic dispatches at reduced computational cost.
This paper presents and exercises a general structure for an object-oriented-enriched finite element code. The programming environment provides a robust tool for extended finite element (XFEM) computations and a modul...
详细信息
This paper presents and exercises a general structure for an object-oriented-enriched finite element code. The programming environment provides a robust tool for extended finite element (XFEM) computations and a modular and extensible system. The programme structure has been designed to meet all natural requirements for modularity, extensibility, and robustness. To facilitate mesh-geometry interactions with hundreds of enrichment items, a mesh generator and mesh database are included. The salient features of the programme are: flexibility in the integration schemes (subtriangles, subquadrilaterals, independent near-tip, and discontinuous quadrature rules);domain integral methods for homogeneous and bi-material interface cracks arbitrarily oriented with respect to the mesh;geometry is described and updated by level sets, vector level sets or a standard method;standard and enriched approximations are independent;enrichment detection schemes: topological, geometrical, narrow-band, etc.;multi-material problem with an arbitrary number of interfaces and slip-interfaces;non-linear material models such as J2 plasticity with linear, isotropic and kinematic hardening. To illustrate the possible applications of our paradigm, we present 2D linear elastic fracture mechanics for hundreds of cracks with local near-tip refinement, and crack propagation in two dimensions as well as complex 3D industrial problems. Copyright (c) 2007 John Wiley & Sons, Ltd.
The open-source Java software framework JStatCom is presented which supports the development of rich desktop clients for data analysis in a rather general way. The concept is to solve all recurring tasks with the help...
详细信息
The open-source Java software framework JStatCom is presented which supports the development of rich desktop clients for data analysis in a rather general way. The concept is to solve all recurring tasks with the help of reusable components and to enable rapid application development by adopting a standards based approach which is readily supported by existing programming tools. Furthermore, JStatCom allows to call external procedures from within Java that are written in other languages, for example Gauss, Ox or Matlab. This way it is possible to reuse an already existing code base for numerical routines written in domain-specific programming languages and to link them with the Java world. A reference application for JStatCom is the econometric software package JMulTi, which will shortly be introduced. (C) 2006 Elsevier B.V. All rights reserved.
暂无评论