object-oriented programming is an alternative to overcome the problems associated with the development, maintenance and update of large software by electrical utilities. However many applications in the electrical ind...
详细信息
object-oriented programming is an alternative to overcome the problems associated with the development, maintenance and update of large software by electrical utilities. However many applications in the electrical industry depend critically on the computational efficiency of the implementation. This paper applies the object-oriented approach to the problem of power system dynamics simulation. A decomposition of the electric power system into classes, suitable to include all elements required in this problem, is presented. A structure for linear systems solution aiming computational efficiency for large-scale systems applications, is proposed. Tests using four equivalents of the South-Southeastern Brazilian interconnected power system are carried out. The performance of the object-oriented program, developed in C++, is assessed in several computers. Real-time simulation was achieved for medium-sized power systems in lower cost high performance computers. The implementation is compared with an industry program written in Fortran and similar performances are achieved.
This paper reports on power system modelling and sparse matrix operations using object-oriented programming (OOP). It has been claimed that OOP leads to more flexible, modular and reusable code, and that programs can ...
详细信息
This paper reports on power system modelling and sparse matrix operations using object-oriented programming (OOP). It has been claimed that OOP leads to more flexible, modular and reusable code, and that programs can be written more general. The main focus of the paper is OOP design principles and practical implementations for power systems. Specific examples included demonstrate a power system model design, particularly focusing on OOP mechanisms and object-oriented style of programming. Also demonstrated, using OOP, are tailor-made sparse matrix storage schemes and operations. Numedcal tests indicate that the proposed design is efficient compared to standard numerical library routines and that the particular OOP features that are used to obtain flexibility etc. do not significantly increase computation time.
Automatic grading of object-oriented programming (OOP) assignments is an important problem from practical, theoretical, and educational viewpoints. Apart from computing a specific grade, an effective grading method ne...
详细信息
Automatic grading of object-oriented programming (OOP) assignments is an important problem from practical, theoretical, and educational viewpoints. Apart from computing a specific grade, an effective grading method needs to provide systematic feedback comments to both the design and code elements. Existing works have proposed grading methods that make various assumptions about the design. However, none of these methods have considered using a design language for the program model. A challenge here is to use a language that eases learning and application in program design. In this paper, we propose a novel grading method, named OOPGRADER, which automatically grades OOP assignments constructed based on an essentially detailed program model. This model is defined in an embedded design language, which directly uses the annotation feature of OOP language to express the essential design rules. We explain how programming assignments can be designed with this language and propose a program checker and a grader for both student and teacher to use in working on the assignments and in grading them. We implement these components in a tool and develop an Eclipse plugin for this tool. We evaluate our method using a combination of qualitative and quantitative techniques. The main result is that our method helps students effectively learn to program through detailed feedback comments based on a program model. The tool is adaptable, has a good performance, and helps enhance the productivity of both students and teachers through IDE integration.
This paper contains a discussion of striking similarities between influential philosophical concepts of the past and the approaches currently employed in selected areas of computer science. In particular, works of the...
详细信息
This paper contains a discussion of striking similarities between influential philosophical concepts of the past and the approaches currently employed in selected areas of computer science. In particular, works of the Pythagoreans, Plato, Abelard, Ash'arites, Malebranche and Berkeley are presented and contrasted with such computer science ideas as digital computers, object-oriented programming, the modelling of an object's actions and causality in virtual environments, and 3D graphics rendering. The intention of this paper is to provoke the computer science community to go off the beaten path in order to find inspiration for the development of new approaches in software engineering.
In this paper we describe an abstract model for the development of object-oriented software in a context where several programmers work together as a team. We introduce the different levels that compose our model, map...
详细信息
In this paper we describe an abstract model for the development of object-oriented software in a context where several programmers work together as a team. We introduce the different levels that compose our model, mapping its concepts and tools to existing systems whenever possible. The goal of this work is to design an environment for co-operative programming that deals specifically with the needs of developers using object-oriented technology. Our model is based on existing software engineering tools for the development of medium and large software projects, and also on a survey of user requirements for object-oriented programming. We explain the reasons why existing software engineering tools for team programming are not suited to object-oriented technology. We also briefly describe our prototype and the tools necessary to support our co-operative object-oriented programming model.
In a recent article Alan Kay, the originator of Smalltalk, wrote: ‘The move to object-oriented design represents a real change in point of view — a change of paradigm — that brings with it an enormous increase in e...
详细信息
In a recent article Alan Kay, the originator of Smalltalk, wrote: ‘The move to object-oriented design represents a real change in point of view — a change of paradigm — that brings with it an enormous increase in expressive power’ (Scientific American, September 1984). If this statement is true, it is clearly important to know what is meant by object-oriented design. object-oriented programming is perhaps more common terminology; however. ‘object-oriented programming’, rather like ‘structured programming’, is not something that can be simply defined. It has become very fashionable to describe any and all software, hardware and user-interface systems as ‘object-oriented’, and this fashion tends to obscure the fact that ‘object-oriented programming’ does represent a fairly fundamental change in the way programming is carried out and understood. This paper issustrates the meaning of ‘object-oriented programming’ by describing its constituent notions, and showing how the programming languages Simula-67, Smalltalk-80, Clu and Ada are related to it.
This work presents an object-oriented implementation of the G/XFEM to model the crack nucleation and propagation in structures made of either linear or nonlinear materials. A discontinuous function along with the asym...
详细信息
This work presents an object-oriented implementation of the G/XFEM to model the crack nucleation and propagation in structures made of either linear or nonlinear materials. A discontinuous function along with the asymptotic crack-tip displacement fields are used to represent the crack without explicitly meshing its surfaces. Different approach are explained in detail that are used to capture the crack nucleation within the model and also determine the crack propagation path for various problems. Stress intensity factor and singularity of the localization tensor (which provides the classical strain localization condition) can be used to determine the crack propagation direction for linear elastic materials and nonlinear material models, respectively. For nonlinear material model, the cohesive forces acting on the crack plane are simulated in the enrichment process by incorporating a discrete constitutive model. Several algorithms and strategies have been implemented, within an object-oriented framework in Java, called INSANE. This implementation will be presented in detail by solving different two-dimensional problems, for both linear and nonlinear material models, in order to show the robustness and accuracy of the proposed method. The numerical results are compared with the reference solutions from the analytical, numerical or experimental results, where applicable.
A finite element method, with the adaptive Delaunay triangulation as mesh generator, is used to analyze two-dimensional crack propagation problems. This paper describes the Delaunay triangulation procedure consisting ...
详细信息
A finite element method, with the adaptive Delaunay triangulation as mesh generator, is used to analyze two-dimensional crack propagation problems. This paper describes the Delaunay triangulation procedure consisting of mesh generation, node creation, mesh smoothing, and adaptive remeshing, all with object-oriented programming. The adaptive remeshing technique generates small elements around crack tips and large elements in other regions. The resulting stress intensity factors and simulated crack propagation behavior are used to evaluate the effectiveness of the combined method. The accuracy of the stress intensity factor prediction is evaluated in three test cases, a center cracked plate, a single edge cracked plate and a compact tension specimen. Then, crack growth trajectories in a single edge cracked plate with three holes and a single edge cracked plate under mixed-mode loading are simulated and results assessed. (C) 2004 Elsevier B.V. All rights reserved.
This article describes experiences of teaching object-oriented programming to undergraduate Electrical Engineering students. The proposed project-based methodology increased the interest of students in programming. Th...
详细信息
This article describes experiences of teaching object-oriented programming to undergraduate Electrical Engineering students. The proposed project-based methodology increased the interest of students in programming. The project focuses on the development of a small C++ class that allows students to build geometric models by manipulating a three-dimensional matrix. The class methods (C++ member functions) can draw complex scenes by using combinations of them. Students can improve their programming skills according to the points of view of a class developer and a class user. In addition, students try to create beautiful models to present to each other, making the learning experience pleasant and motivating.
Java is arguably today's most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess st...
详细信息
Java is arguably today's most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess students' object-oriented programming skills with Java, we developed the "Department-Employee" project. In this article, we review the history of object-oriented programming, provide an overview of object-oriented programming with Java, and present a summary of existing Java projects and their limitations. We also provide the project specifications as well as the course background, grading rubric, and score reports. Survey data are presented on students' backgrounds, as well as students' perceptions regarding the project. Results from the instructor score reports, correlation of the project score and the final course score, and student perceptions show that the "Department-Employee" project is effective in assessing students' object-oriented programming skills with Java.
暂无评论