On-demand collective irrigation networks are hydraulic systems designed to deliver and distribute irrigation water from the water source to the irrigation perimeter, while providing users with the flexibility to decid...
详细信息
On-demand collective irrigation networks are hydraulic systems designed to deliver and distribute irrigation water from the water source to the irrigation perimeter, while providing users with the flexibility to decide on the time, the duration and the frequency with which they intend to use their hydrant. This paper presents the newly developed software NIREUS, which is developed for implementing the performance analysis of such networks. The performance analysis with NIREUS gives an overview of the operational status of the network under study by implementing the model of the indexed characteristic curves, while on the other hand, NIREUS determines the pipes/hydrants of the network that present, or are most likely to present, operational problems by implementing the performance analysis at hydrant level. This information is particularly useful for the management of existing networks as well as for the planning of future interventions and rehabilitation activities. The paper also describes the main functions of NIREUS and the characteristics that differentiate it from other existing software. Moreover, a new indicator which is incorporated in NIREUS is presented, in which the whole magnitude of the operational efficiency of a hydrant is depicted. The validation of the new software is made through a comparative application of NIREUS and COPAM to an existing on-demand pressurized collective irrigation network. Results proved the usefulness of NIREUS in highlighting both the weak and the strong parts of the network. The validation procedure gave a very close approximation of the respective values calculated with COPAM with the relative error ranging between 0.0% to 0.36% for the indexed characteristic curve of C50 and 0.01% to 0.22% for the indexed characteristic curves of C70. (C) 2017 Elsevier B.V. All rights reserved.
The field of computational constitutive modelling for engineering applications is an active research tread in academia. New advanced models and formulations are constantly proposed. However, when dealing with implemen...
详细信息
The field of computational constitutive modelling for engineering applications is an active research tread in academia. New advanced models and formulations are constantly proposed. However, when dealing with implementation aspects, often the main concern is to provide a minimal environment to show a certain model and its applications, with implementations made from scratch. Though advanced, usually such implementations lack of generality and are well-suited for a certain numerical method while not compatible with other ones, making it difficult to reuse the code in other contexts. The objectoriented Paradigm (OOP) to programming have been widely applied in the last years for the realization of numerous academic numerical simulation softwares, due to its fundamental properties of abstraction, inheritance and polymorphism that allow the creation of programs well-suited for an easy collaboration between developers with expertise in different fields of engineering and mechanics. As showed in this paper, the same properties can be effectively extended also to the constitutive aspects of a model. The application of the OOP to the constitutive modelling of a wide range of materials of engineering interest is investigated, aiming to the creation of a computational framework for constitutive models that is fully independent on the other components of a code and easy to expand. (C) 2017 Elsevier Ltd. All rights reserved.
'Extract Method' is considered one of the most frequently applied and beneficial refactorings, since the corresponding Long Method smell is among the most common and persistent ones. Although Long Method is co...
详细信息
'Extract Method' is considered one of the most frequently applied and beneficial refactorings, since the corresponding Long Method smell is among the most common and persistent ones. Although Long Method is conceptually related to the implementation of diverse functionalities within a method, until now, this relationship has not been utilized while identifying refactoring opportunities. In this paper we introduce an approach (accompanied by a tool) that aims at identifying source code chunks that collaborate to provide a specific functionality, and propose their extraction as separate methods. The accuracy of the proposed approach has been empirically validated both in an industrial and an open-source setting. In the former case, the approach was capable of identifying functionally related statements within two industrial long methods (approx. 500 LoC each), with a recall rate of 93 percent. In the latter case, based on a comparative study on open-source data, our approach ranks better compared to two well-known techniques of the literature. To assist software engineers in the prioritization of the suggested refactoring opportunities the approach ranks them based on an estimate of their fitness for extraction. The provided ranking has been validated in both settings and proved to be strongly correlated with experts' opinion.
The new Reference Resistance Design (RRD) method, recently developed by Rotter [1], for the manual dimensioning of metal shell structures effectively permits an analyst working with only a calculator or spreadsheet to...
详细信息
The new Reference Resistance Design (RRD) method, recently developed by Rotter [1], for the manual dimensioning of metal shell structures effectively permits an analyst working with only a calculator or spreadsheet to take full advantage of the realism and accuracy of an advanced nonlinear finite element (FE) calculation. The method achieves this by reformulating the outcomes of a vast programme of parametric FE calculations in terms of six algebraic parameters and two resistances, each representing a physical aspect of the shell's behaviour. The formidable challenge now is to establish these parameters and resistances for the most important shell geometries and load cases. The systems that have received by far the most research attention for RRD are that of a cylindrical shell under uniform axial compression and uniform bending. Their partial algebraic characterisations required thousands of finite element calculations to be performed across a four-dimensional parameter hyperspace (i.e. length, radius to thickness ratio, imperfection amplitude, linear strain hardening modulus). Handling so many nonlinear finite element models is time-consuming and the quantities of data generated can be overwhelming. This paper illustrates a computational strategy to deal with both issues that may help researchers establish sets of RRD parameters for other important shell systems with greater confidence and accuracy. The methodology involves full automation of model generation, submission, termination and processing with object-oriented scripting, illustrated using code and pseudocode fragments. (C) 2017 The Authors. Published by Elsevier Ltd.
Context Mutation testing has been mainly analyzed regarding traditional mutation operators involving structured programming constructs common in mainstream languages, but mutations at the class level have not been ass...
详细信息
Context Mutation testing has been mainly analyzed regarding traditional mutation operators involving structured programming constructs common in mainstream languages, but mutations at the class level have not been assessed to the same extent. This fact is noteworthy in the case of C++, despite being one of the most relevant languages including object-oriented features. objective: This paper provides a complete evaluation of class operators for the C++ programming language. MuCPP, a new system devoted to the application of mutation testing to this language, was developed to this end. This mutation system implements class mutation operators in a robust way, dealing with the inherent complexity of the language. Method: MuCPP generates the mutants by traversing the abstract syntax tree of each translation unit with the Clang API, and stores mutants as branches in the Git version control system. The tool is able to detect duplicate mutants, avoid system headers, and drive the compilation process. Then, MuCPP is used to conduct experiments with several open-source C++ programs. Results: The improvement rules listed in this paper to reduce unproductive class mutants have a significant impact in the computational cost of the technique. We also calculate the quantity and distribution of mutants generated with class operators, which generate far fewer mutants than their traditional counterparts. Conclusions: We show that the tests accompanying these programs cannot detect faults related to particular object-oriented features of C++. In order to increase the mutation score, we create new test scenarios to kill the surviving class mutants for all the applications. The results confirm that, while traditional mutation operators are still needed, class operators can complement them and help testers further improve the test suite. (C) 2016 Elsevier B.V. All rights reserved.
Aspect-orientedprogramming (AOP) is a programmatic methodology to handle better modularized code by separating crosscutting concerns from the traditional abstraction boundaries. Automated testing, as one of the most ...
详细信息
Aspect-orientedprogramming (AOP) is a programmatic methodology to handle better modularized code by separating crosscutting concerns from the traditional abstraction boundaries. Automated testing, as one of the most demanding needs of the software development to reduce both human effort and costs, is a delicate issue in testing aspect-oriented programs. Prior studies in the automated test generation for aspect-oriented programs have been very limited with respect to the need for both adequate tool support and capability concerning effectiveness and efficiency. This paper describes a new AOP-specific tool for testing aspect-oriented programs, called RAMBUTANS. The RAMBUTANS tool uses a directed random testing technique that is especially well suited for generating tests for aspectual features in AspectJ. The directed random aspect of the tool is parameterized by associating weights to aspects, advice, methods, and classes by controlling object and joint point creations during the test generation process. We present a comprehensive empirical evaluation of our tool against the current AOP test generation approaches on three industrial aspect-oriented projects. The results of the experimental and statistical tests showed that RAMBUTANS tool produces test suites that have higher fault-detection capability and efficiency for AspectJ-like programs.
In this study, the effective elastic constants of several 2D and 3D frame-like periodic cellular solids with different unit-cell topologies are analytically derived using the homogenization method based on equivalent ...
详细信息
In this study, the effective elastic constants of several 2D and 3D frame-like periodic cellular solids with different unit-cell topologies are analytically derived using the homogenization method based on equivalent strain energy. The analytical expressions of strain energy of a unit cell under different strain modes are determined using a generic symbolic object-oriented finite element (FE) program written in MATLAB. The obtained analytical expressions of the strain energy are then used to symbolically compute the effective elastic constants that include Young's moduli, Poisson's ratios, and shear moduli. The obtained analytical effective elastic constants are numerically verified using results from an ordinary numerical FE program. The obtained closed-form effective elastic constants are also compared with some existing solutions from the literature. This study demonstrates that symbolic computation platforms can be properly used to provide efficient methodologies for finding useful analytical solutions of mechanical problems. Without the symbolic object-oriented FE program in this study, elaborate and tedious analytical analysis has to be manually performed for each different unit cell. The symbolic object-oriented FE program provides analytical analysis of unit cells that is accurate and fast. The object-oriented programming technique allows the symbolic FE program in this study to be efficiently implemented.
Recent studies indicate that transient memory errors (soft errors) have become a relevant source of system failures. This paper presents a generic software-based fault-tolerance mechanism that transparently recovers f...
详细信息
Recent studies indicate that transient memory errors (soft errors) have become a relevant source of system failures. This paper presents a generic software-based fault-tolerance mechanism that transparently recovers from memory errors in object-oriented program data structures. The main benefits are the flexibility to choose from an extensible toolbox of easily pluggable error detection and correction schemes, such as Hamming and CRC codes. This is achieved by a combination of aspect-oriented and generative programming techniques. Furthermore, we present a wait-free synchronization algorithm for error detection in data structures that are used concurrently by multiple threads of control. We give a formal correctness proof and show the excellent scalability of our approach in a multiprocessor environment. In a case study, we present our experiences with selectively hardening the eCos operating system and its benchmark suite. We explore the trade-off between resiliency and performance by choosing only the most vulnerable data structures for error recovery. Thereby, the total number of system failures, manifesting as silent data corruptions and crashes, is reduced by 69.14 percent at a negligible runtime overhead of 0.36 percent.
The efforts around the world - CS4All in the U.S. or Computing At School in Great Britain - show that computing literacy is seen as important. One important part of computer science education deals with learning progr...
详细信息
The efforts around the world - CS4All in the U.S. or Computing At School in Great Britain - show that computing literacy is seen as important. One important part of computer science education deals with learning programming. So, object orientation should be in focus. But what is object orientation? Several different definitions are presented, and a definition of object orientation by its fundamental concepts is introduced. Furthermore, several educational "paradigms" are discussed. Additionally, a choice of object-oriented programming languages is presented. After all that theoretical background, some exemplary implementations of object orientation in national (German) and international curricula are shown. All in all, the article provides a broad overview of the topic of object-oriented programming in computer science education.
In this paper, an active RFID system compatible with IEEE802.15.4 at 2.4 GHz ISM band is designed and implemented for real-time vehicle tracking applications. A windows-based user interface software is developed by us...
详细信息
In this paper, an active RFID system compatible with IEEE802.15.4 at 2.4 GHz ISM band is designed and implemented for real-time vehicle tracking applications. A windows-based user interface software is developed by using layered architecture design and object-oriented programming which provides the ability of six wireless operations. This RFID system can identify 8 mobile vehicles in the range of 80 m from the reader within 31 ms at the output power of 4.5 dBm. Each active tag is attached to a vehicle and powered by the vehicle 12 V battery consuming 0.8 A mu A in the sleep mode and 20.8 mA in the active mode.
暂无评论