Wikis are often implemented using string-based approaches to parse and generate their pages. While such approaches work well for simple wikis, they hamper the customization and adaptability of wikis to the variety of ...
详细信息
ISBN:
(纸本)9781595931115
Wikis are often implemented using string-based approaches to parse and generate their pages. While such approaches work well for simple wikis, they hamper the customization and adaptability of wikis to the variety of end-users when more sophisticated needs are required (i.e., different output formats, user-interfaces, wiki management, security policies,...). In this paper we present SmallWiki, the second version of a fully object-oriented implementation of a wiki. SmallWiki is implemented with objects from the top to the bottom and it can be customized easily to accommodate new needs. In addition, SmallWiki is based on a powerful meta-description called Magritte that allows one to create user-interface elements declaratively.
Micro patterns are similar to design patterns, except that micro patterns are stand at a lower, closer to the implementation, level of abstraction. Micro patterns are also unique in that they are mechanically recogniz...
详细信息
ISBN:
(纸本)9781595930316
Micro patterns are similar to design patterns, except that micro patterns are stand at a lower, closer to the implementation, level of abstraction. Micro patterns are also unique in that they are mechanically recognizable, since each such pattern can be expressed as a formal condition on the structure of a *** paper presents a catalog of 27 micro-patterns defined on Java classes and interfaces. The catalog captures a wide spectrum of common programming practices, including a particular and (intentionally restricted) use of inheritance, immutability, data management and wrapping, restricted creation, and emulation of procedural-, modular-, and even functional- programming paradigms with objectoriented constructs. Together, the patterns present a set of prototypes after which a large portion of all Java classes and interfaces are modeled. We provide empirical indication that this portion is as high as 75%.A statistical analysis of occurrences of micro patterns in a large software corpus, spanning some 70,000 Java classes drawn from a rich set of application domains, shows, with high confidence level that the use of these patterns is not random. These results indicate consciousness and discernible design decisions, which are sustained in the software evolution. With high confidence level, we can also show that the use of these patterns is tied to the specification, or the purpose, that the software *** traceability, abundance and the statistical significance of micro pattern occurrence raise the hope of using the classification of software into these patterns for a more founded appreciation of its design and code quality.
This paper exploits object-oriented implementation techniques to facilitate the development of computer codes for solving systems of coupled partial differential equations. We show how to build a simulator for equatio...
详细信息
This paper exploits object-oriented implementation techniques to facilitate the development of computer codes for solving systems of coupled partial differential equations. We show how to build a simulator for equation systems by merging independent solvers for each equation that enters the system. The main goal is to obtain a rapid, robust, and reliable software development process with extensive reuse of implemented code. Coupled heat and fluid flow in pipes is used as example for illustrating the implementation techniques. We also present some results for the particular case of temperature-dependent generalized Newtonian fluid flow between two nonconcentric cylinders. The general applicability of the approach is discussed.
The Finite Element Method (FEM) has become the most popular numerical method for solving a wide variety of complex engineering problems. However, from the programming point of view, when a FEM program has a lot of com...
详细信息
The Finite Element Method (FEM) has become the most popular numerical method for solving a wide variety of complex engineering problems. However, from the programming point of view, when a FEM program has a lot of computational capabilities it is very difficult to maintain and enlarge the program codes. Recently the object-oriented programming paradigm has become a powerful method for overcoming such difficulties. This paper contains the description of an open environment for the FEM, written in C+ +, with explanations about how the sensitivity analysis and the non-linear material behaviour (damage models) have been taken into account. (C) 2001 Elsevier Science Ltd. All rights reserved.
This paper will describe one approach to the design and implementation of a multibody systems analysis code using an object-oriented architecture. The principal objective is to show the adequacy between object-oriente...
详细信息
This paper will describe one approach to the design and implementation of a multibody systems analysis code using an object-oriented architecture. The principal objective is to show the adequacy between object-oriented programming and the finite element method used for the treatment of three-dimensional multibody flexible mechanisms. It will show that object-oriented programming greatly simplifies the choice and the implementation of other formalisms concerning polyarticulated systems, thus conferring high flexibility and adaptability to the developed software. (C) 2004 Elsevier Ltd. All rights reserved.
VORPAL is a new plasma simulation code designed for maximum flexibility through use of advance C++ techniques. Through use of inheritance, VORPAL incorporates multiple models for the plasma and electromagnetic fields....
详细信息
VORPAL is a new plasma simulation code designed for maximum flexibility through use of advance C++ techniques. Through use of inheritance, VORPAL incorporates multiple models for the plasma and electromagnetic fields. The plasma models include both particle-in-cell and fluid models. Through C++ meta-template programming a single code can be used to simulate one-, two-, or three-dimensional systems with no loss of performance. VORPAL can also be run in either serial or parallel, with the latter using a general domain decomposition. A new fluid algorithm that allows for regions of zero density was developed and incorporated into the code. VORPAL simulation results for the generation of laser wake fields through laser-plasma interaction are presented. (C) 2003 Elsevier Inc. All rights reserved.
This paper is organized as follows. Part A presents the context of reconfiguring transitic systems and the main idea in implementing the decision step. It comprises sections 1 to 3. Section 3 presents an example that ...
详细信息
This paper is organized as follows. Part A presents the context of reconfiguring transitic systems and the main idea in implementing the decision step. It comprises sections 1 to 3. Section 3 presents an example that illustrates the concepts presented in the next sections. Parts B and C express the models and principles used to simulate transitic systems, the result of which will be helpful for choosing the new configuration. Part B focuses mainly on models. It comprises sections 4 to 6. Part C focuses mainly on simulation principles. It comprises sections 7 to 10.
Development of user-friendly and flexible scientific programs is a key to their usage, extension and maintenance. This article presents an object-oriented programming approach for the development of FER/Mech-a softwar...
详细信息
Development of user-friendly and flexible scientific programs is a key to their usage, extension and maintenance. This article presents an object-oriented programming approach for the development of FER/Mech-a software with interactive graphics for use in the design and analysis of two and three dimensional multibody dynamic systems. The general organization of the developed software system is given which includes the solver and the pre/postprocessors with a friendly Graphical User interfaces. The concept of absolute natural coordinates is discussed to model rigid bodies in order to satisfy the constraints of modularity. Two case studies with graphical representations illustrate some functionalities of the program. (C) 2003 Elsevier Ltd. All rights reserved.
During the last 50 years, the development of better numerical methods and more powerful computers has been a major enterprise for the scientific community. In the same time, the finite element method has become a wide...
详细信息
During the last 50 years, the development of better numerical methods and more powerful computers has been a major enterprise for the scientific community. In the same time, the finite element method has become a widely used tool for researchers and engineers. Recent advances in computational software have made possible to solve more physical and complex problems such as coupled problems, nonlinearities, high strain and high-strain rate problems. In this field, an accurate analysis of large deformation inelastic problems occurring in metal-forming or impact simulations is extremely important as a consequence of high amount of plastic flow. In this presentation, the object-oriented implementation, using the C++ language, of an explicit finite element code called DynELA is presented. The object-oriented programming (OOP) leads to better-structured codes for the finite element method and facilitates the development, the maintainability and the expandability of such codes. The most significant advantage of COP is in the modeling of complex physical systems such as deformation processing where the overall complex problem is partitioned in individual sub-problems based on physical, mathematical or geometric reasoning. We first focus on the advantages of OOP for the development of scientific programs. Specific aspects of OOP, such as the inheritance mechanism, the operators overload procedure or the use of template classes are detailed. Then we present the approach used for the development of our finite element code through the presentation of the kinematics, conservative and constitutive laws and their respective implementation in C++. Finally, the efficiency and accuracy of our finite element program are investigated using a number of benchmark tests relative to metal forming and impact simulations. (C) 2003 Elsevier B.V. All rights reserved.
暂无评论