Fundamental concepts of programming and data structures are usually taught with graphical tools such as simulations and animations. Conflictive animations have been proposed to improve students' understanding of p...
详细信息
Fundamental concepts of programming and data structures are usually taught with graphical tools such as simulations and animations. Conflictive animations have been proposed to improve students' understanding of programming concepts. In conflictive animations, errors are introduced in the animations to motivate students to constantly check their knowledge against what is being animated. We have implemented a framework in an animation tool that allows the automatic generation of conflictive animations of statements, expressions, and other programming constructs. The automatic generation is challenging due to the alternative paths execution can take and their side effects. The architecture of the tool consists of several layers that can alter the normal interpretation or visualization of the program. The framework and the tool have been evaluated by creating conflictive animations of two programming concepts-for-loops and inheritance-and by running a set of 27 examples taken from Java textbooks. Of these, over two thirds (19) required no modification or only minor changes to create the conflictive animations. The reasons that the remaining examples did not generate conflictive animations automatically were divided between the layered architecture used and the example program itself.
Component-based software development is increasingly more commonplace and is widely used in the development of commercial software systems. This has led to the existence of several research works focusing on software ...
详细信息
Component-based software development is increasingly more commonplace and is widely used in the development of commercial software systems. This has led to the existence of several research works focusing on software component-based systems quality. The majority of this research proposes quality models focused on component-based systems in which different measures are proposed. In general, the result of assessing the measures is a number, which is necessary to determine the component-based system quality level. However, understanding and interpreting the data set is not an easy task. In order to facilitate the interpretation of results, this study selects and adapts a specific visual metaphor with which to show component-based systems quality. A tool has additionally been developed which permits the automatic assessment of the measures to be carried out. The tool also shows the results visually and proposes corrective actions through which to improve the level of quality. A case study is used to assess and to show the quality of a real-world component-based software system in a graphic manner.
Refactoring consists in restructuring an object-oriented program without changing its behaviour. In this paper, we present refactorings as transformation rules for programs written in a refinement language inspired on...
详细信息
Refactoring consists in restructuring an object-oriented program without changing its behaviour. In this paper, we present refactorings as transformation rules for programs written in a refinement language inspired on Java that allows reasoning about object-oriented programs and specifications. A set of programming laws is available for the imperative constructs of this language as well as for its object-oriented features;soundness of the laws is proved against a weakest precondition semantics, The proof that the refactoring rules preserve behaviour (semantics) is accomplished by the application of these programming laws and data simulation. As illustration of our approach to refactoring, we use our rules to restructure a program to be in accordance with a design pattern. (C) 2009 Elsevier B.V. All rights reserved.
Multiple dispatch - the selection of a function to be invoked based on the dynamic type of two or more arguments - is a solution to several classical problems in object-oriented programming. Open multi-methods general...
详细信息
Multiple dispatch - the selection of a function to be invoked based on the dynamic type of two or more arguments - is a solution to several classical problems in object-oriented programming. Open multi-methods generalize multiple dispatch towards open-class extensions, which improve separation of concerns and provisions for retroactive design. We present the rationale, design, implementation, performance, programming guidelines, and experiences of working with a language feature, called open multi-methods, for C++. Our open multi-methods support both repeated and virtual inheritance. Our call resolution rules generalize both virtual function dispatch and overload resolution semantics. After using all information from argument types, these rules can resolve further ambiguities by using covariant return types. Care was taken to integrate open multi-methods with existing C++ language features and rules. We describe a model implementation and compare its performance and space requirements to existing open multi-method extensions and work-around techniques for C++. Compared to these techniques, our approach is simpler to use, catches more user mistakes, and resolves more ambiguities through link-time analysis, is comparable in memory usage, and runs significantly faster. In particular, the runtime cost of calling an open multi-method is constant and less than the cost of a double dispatch (two virtual function calls). Finally, we provide a sketch of a design for open multi-methods in the presence of dynamic loading and linking of libraries. (C) 2009 Elsevier B.V. All rights reserved.
This paper evaluates a simple approximate pseudostatic method for estimating the maximum internal forces and horizontal displacements of pile group subjected to lateral seismic excitation. The method involves two main...
详细信息
This paper evaluates a simple approximate pseudostatic method for estimating the maximum internal forces and horizontal displacements of pile group subjected to lateral seismic excitation. The method involves two main steps: (1) computation of the free-field soil movements caused by the earthquake, and (2) the analysis of the response of the pile group based on the maximum free-field soil movements (considered as static movements) as well as a static loading at the pile head, which depends on the computed spectral acceleration of the structure being supported. The methodology takes into account the effects of group interaction and soil yielding at pile-soil interface. The applicability of this approach has been validated by a similar approach for single piles and then verified by both experimental centrifuge models of pile-supported structures and field measurements of Ohba-Ohashi Bridge in Japan. It is demonstrated that the proposed method yields reasonable estimates of the pile maximum moment, shear, and horizontal displacement for many practical cases despite of its simplicity. Limitations and reliability of the methodology are discussed and some practical conclusions on the performance of the proposed approach are presented. (C) 2009 Elsevier Ltd. All rights reserved.
The authors present a compositional method for the veri. cation of component-based systems described in a subset of the behaviour-interaction-priority language encompassing multi-party interaction without data transfe...
详细信息
The authors present a compositional method for the veri. cation of component-based systems described in a subset of the behaviour-interaction-priority language encompassing multi-party interaction without data transfer. The method is based on the use of two kinds of invariants. Component invariants are over-approximations of components' reachability sets. Interaction invariants are global constraints on the states of components involved in interactions. The method has been implemented in the D-Finder tool and has been applied for checking deadlock-freedom. The experimental results on non-trivial examples show that this method allows either to prove deadlock-freedom or to identify very few deadlock configurations that can be analysed by using state-space exploration.
作者:
Carasco, C.CEA
DEN Nucl Measurement Lab F-13108 St Paul Les Durance France
MCNP Output Data Analysis with ROOT (MODAR) is a tool based on CERN's ROOT software MODAR has been designed to handle time-energy data issued by MCNP simulations of neutron inspection devices using the associated ...
详细信息
MCNP Output Data Analysis with ROOT (MODAR) is a tool based on CERN's ROOT software MODAR has been designed to handle time-energy data issued by MCNP simulations of neutron inspection devices using the associated particle technique MODAR exploits ROOT's Graphical User Interface and functionalmes to visualize and process MCNP simulation results in a fast and user-friendly way MODAR allows to take into account the detection system time resolution (which is not possible with MCNP) as well as detectors energy response function and counting statistics in a straightforward way Program summary Program title MODAR Catalogue identifier. AEGA_v1_0 Program summary URL. http //cpc cs qub ac uk/summaries/AEGA_v1_0 h MI Program obtainable from CPC Program Library, Queen's University. Belfast, N Ireland Licensing provisions Standard CPC licence, http //cpc cs qub ac uk/licence/licence html No of lines in distributed program, including test data, etc 155 373 No of bytes m distributed program, including rest data, etc 14 815 461 Distribution format tar gz programming language C++ Computer Most Unix workstations and PC Operating system Most Unix systems. Linux and windows, provided the ROOT package has been installed Examples where tested under Suse Linux and Windows XP RAM Depends on the size of the MCNP output file The example presented in the article, which involves three two-dimensional 139 x 740 bins histograms, allocates about 60 MB These data are running under ROOT and include consumption by ROOT itself Classification 176 External routines ROOT version 5 24 00 (http //root cern ch/drupal/) Nature of problem The output of an MCNP simulation is an ASCII file. The data processing is usually performed by copying and pasting the relevant parts of the ASCII file into Microsoft Excel Such an approach is satisfactory when the quantity of data is small but is not efficient when the size of the simulated data is large, for example when time-energy correlations are studied in detail such
The improved mathematical model of steel frame structures' design is created. The loading is simple, and plastic strains are evaluated. Energy principles of deformable body mechanics and mathematical programming t...
详细信息
The improved mathematical model of steel frame structures' design is created. The loading is simple, and plastic strains are evaluated. Energy principles of deformable body mechanics and mathematical programming theory are employed. Equilibrium finite elements with interpolation functions of internal forces are used for discretization. The elements are designed using HE, IPE, RHS steel profile assortments and considering dispersion of geometrical characteristics of profile assortment sets. Optimal design of steel structures is realized by using the experimental tool system JWM SAOSYS Toolbox v0.42, which was created by the authors in MATLAB environment. SAOSYS architecture operates with object-oriented finite elements pseudo-polymorphously. The possibilities of this system are demonstrated by considering a numerical example of optimal design of industrial building frame with strength and stiffness constraints. The assumption of small displacements is adopted for computations.
While OO has, become ubiquitously employed for design;implementation, and even conceptualization, many practitioners recognize the concomitant need for other programming paradigms according to problem domain. Neverthe...
详细信息
ISBN:
(纸本)9783642020469
While OO has, become ubiquitously employed for design;implementation, and even conceptualization, many practitioners recognize the concomitant need for other programming paradigms according to problem domain. Nevertheless, the choice of a programming paradigm is strongly influenced by the supporting programming language facilities. In turn, choice of programming language is usually highly constrained by practical considerations. We seek answers to the question of how to address the need for other programming paradigms, or even domain specific languages, in the general context of OO languages. It is clear that this field is active and fluid: novel, disparate approaches' and techniques are still being discovered or invented, And this very novelty adds a. significant element of intellectual entertainment. This article describes the cross section of research efforts reported at the, workshop on Multiparadigm programming in object-oriented Languages held at, the 2008 European Conference on object-oriented programming.
Purpose - The purpose of this paper is to design and implement a team of middle size soccer robots to conform RoboCup middle-size league. Design/methodology/approach - First, according to the rules of RoboCup, a middl...
详细信息
Purpose - The purpose of this paper is to design and implement a team of middle size soccer robots to conform RoboCup middle-size league. Design/methodology/approach - First, according to the rules of RoboCup, a middle size soccer robot was designed. The proposed autonomous soccer robot consists of the mechanical platform, motion control module, omni-directional vision module, front vision module, image processing and recognition module, investigated target object positioning and real coordinate reconstruction, robot path planning, competition strategies, and obstacle avoidance. This soccer robot equips the laptop computer system and interface circuits to make decisions. Findings - In fact, the omni-directional vision sensor of the vision system deals with the image processing and positioning for obstacle avoidance and target tracking. The boundary-following algorithm is applied to find the important features of the field. The sensor data fusion method is utilized in the control system parameters, self-localization, and world modeling. A vision-based self-localization, and the conventional odometry systems are fused for robust self-localization. The localization algorithm includes filtering, sharing, and integration of the data for different types of objects recognized in the environment. Originality/value - This paper presents results of research work in the field of autonomous robot-middle size soccer robot supported by IAU-Khorasgan Branch (Isfahan).
暂无评论