This article describes an introductory object-oriented finite element program for static and dynamic nonlinear applications. This work can be considered as an extension of the original FEM-object environment dealing w...
详细信息
This article describes an introductory object-oriented finite element program for static and dynamic nonlinear applications. This work can be considered as an extension of the original FEM-object environment dealing with linear elasticity [Elmepress Int (1993)] and nonlinearity [Comput Struct 49 (1993) 767]. Mainly the static aspects are discussed in this paper. Interested readers will find a detailed discussion of the object-oriented approach applied to finite element programming in [Proceedings IABSE Colloquium on Expert Systems in Civil Engineering, Bergamo, Italy, 1989;object-oriented Finite Elem Anal Comput Struct 34 (1990) 355;Comput Struct 40 (1991) 75;Int J Numer Meth Engng 35 (1992) 425] and also in [Computer Methods in Appl Mech Engng 98 (1992);The finite element method, 1987] and references therein. Our ambition, in this paper, is limited to a presentation of an introductory object-oriented finite element package for nonlinear analysis. Our goal is to make a starting package available to newcomers to the object-oriented approach and to provide an answer to the large number of demands for such a program received in recent time. In the first part of the paper, a brief recall of the basics of finite element modeling applied to continuum mechanics is given. Von Mises plasticity including isotropic and kinematic hardening, which is used as model problem, is described. This first part also presents an over-view of the main features of the object-oriented approach. In the second part of this paper, classes and associated tasks forming the kernel of the code are described in detail. A hierarchy of classes is proposed and discussed;it provides an immediate overview of the program's capabilities. Finally interactions between classes are explained and numerical examples illustrate the approach. (C) 2001 Elsevier Science Ltd. All rights reserved.
In this paper we reflect on the differences between prototype-based and class-based programming languages and we introduce a new approach. called the Oea framework, that will allow JavaScript developers to write progr...
详细信息
In this paper we reflect on the differences between prototype-based and class-based programming languages and we introduce a new approach. called the Oea framework, that will allow JavaScript developers to write programs using a class-based style, which we assert is easy to use, has a syntax style that resembles that of the Java class-based approach and has high performance and reliability. We present a survey of the most widely used class-based techniques for JavaScript describing their methods and highlighting their shortcomings and compare the new approach with this earlier work. The approach has been developed in the context of a framework for developing Web applications using Scalable Vector Graphics (SVG), JavaScript and the Resource Description Framework (RDF) which involved the construction of substantial libraries and other code using the approach. (C) 2008 Elsevier B.V. All rights reserved.
Flexible manufacturing systems (FMS) are essential for small/medium batch and job shop manufacturing. These types of production systems are used to manufacture a considerable variety of products with medium/small prod...
详细信息
Flexible manufacturing systems (FMS) are essential for small/medium batch and job shop manufacturing. These types of production systems are used to manufacture a considerable variety of products with medium/small production volumes. Therefore, the manufacturing platforms supporting these types of production must be flexible and organized in flexible manufacturing cells (FMC). programming FMCs remains a difficult task and is an actual area of research and development. This paper reports an object-oriented approach developed for FMC programming. The work presented was first thought for application in industrial robot manipulators, and later extended to other FMC equipments just by putting the underlying ideas in a general framework. Initially, the motivation for this work was to develop means to add force control to a standard industrial robot manipulator. This problem requires remote access to the robot controller, remote programming and monitoring, as also is required to program and monitor any other FMC equipment. The proposed approach is distributed based on a client/server model and runs on Win32 platforms, i.e., Microsoft Windows and Windows NT. Implementation for the special case of industrial robot manipulators is presented, along with some application examples used for educational, research and industrial purposes. (C) 2000 Elsevier Science Ltd. All rights reserved.
The paper analyzes the possibilities of transforming C programming language constructs into objects of EO programming language. The key challenge of the method is the transpilation from a system programming language i...
详细信息
The paper analyzes the possibilities of transforming C programming language constructs into objects of EO programming language. The key challenge of the method is the transpilation from a system programming language into a language of a higher level of abstraction, which does not allow direct manipulations with computer memory. Almost all application and domain-orientedprogramming languages disable such direct access to memory. Operations that need to be supported in this case include the use of dereferenced pointers, the imposition of data of different types in the same memory area, and different interpretation of the same data which is located in the same memory address space. A decision was made to create additional EO-objects that directly simulate the interaction with computer memory as in C language. These objects encapsulate unreliable data operations which use pointers. An abstract memory object was proposed for simulating the capabilities of C language to provide interaction with computer memory. The memory object is essentially an array of bytes. It is possible to write into memory and read from memory at a given index. The number of bytes read or written depends on which object is being used. The transformation of various C language constructs into EO code is considered at the level of the compilation unit. To study the variants and analyze the results a transpiler was developed that provides necessary transformations. It is implemented on the basis of Clang, which forms an abstract syntax tree. This tree is processed using LibTooling and LibASTMatchers libraries. As a result of compiling a C program, code in EO language is generated. The considered approach turns out to be appropriate for solving different problems. One of such problems is static code analysis. Such solutions make it possible to isolate low-level code fragments into separate program objects, focusing on their study and possible transformations into more reliable code.
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.
Software Testing is an evaluation mechanism that signifies the importance of software quality assurance, which will evaluate a particular system to check if it will satisfy all the requirements specified by the user. ...
详细信息
ISBN:
(纸本)9781509020843
Software Testing is an evaluation mechanism that signifies the importance of software quality assurance, which will evaluate a particular system to check if it will satisfy all the requirements specified by the user. One cannot underestimate the importance of software testing. The wider perceptibility of software systems and the cost, which is related to the software failure are driving factors for efficient planning through testing. In this paper, we elaborate on the Unit testing and Data flow testing techniques applied on object-oriented programming and Aspect-orientedprogramming. Moreover a tabular contrast of both the techniques is presented representing the differences between both the techniques.
The present work demonstrates the mechanisms, programming design choices and paradigms of developing an Android-hacked online turn-based social game application. Each step of the programming process is detailed, and t...
详细信息
ISBN:
(纸本)9781538644447
The present work demonstrates the mechanisms, programming design choices and paradigms of developing an Android-hacked online turn-based social game application. Each step of the programming process is detailed, and the underlying implemented concepts and reasonings for the different modules are explained using the Model View Controller architectural pattern. Software engineering design choices are compared and exemplified at each stage of the development phases, giving suggestions for improving the logic behind such a distributed service. This paper also shortly presents insights on the usage of an online cloud database (Firebase, from Google) in order to handle player data in real-time using JSON format.
The objective of this paper is to present a novel energy-efficiency conflict-free dispatching algorithm for autonomous mining fleets. In lieu of halting or decelerating the trucks at intersections when conflicts arise...
详细信息
The objective of this paper is to present a novel energy-efficiency conflict-free dispatching algorithm for autonomous mining fleets. In lieu of halting or decelerating the trucks at intersections when conflicts arise, the algorithm facilitates conflict-free dispatching for trucks to operate with the optimal speed trajectory, thereby achieving minimum fuel consumption and mining cost. This work first develops reference speed trajectories for mining trucks, considering their drivetrain characteristics, load status and geographic information pertaining to the path. Second, the total production determination model is based on the MILP model, which determines the total production of each path while taking the travel time into account with the objective of maximizing fleet production. Next, in the fleet allocation model and conflict-free scheduling model, the objectives are to reduce the fleet make span and fleet queuing time, respectively. Finally, a fleet operation timetable is eventually derived. Therefore, all trucks can operate intact according to the speed trajectory, thus minimizing fleet energy consumption and maximizing production efficiency. To verify the advantages of the model in this work, we selected DISPATCH and a multi-objective dispatching model developed by other researchers for comparison on the basis of the historical production data from an open pit coal mine. The results indicated that the proposed model exhibited the capacity to decrease the fleet size by 22.2%, thereby attaining equivalent production levels to those of a real open-pit coal mining fleet. Moreover, the model proposed in this paper can improve the production by about 36.11% to 49.75% compared to DISPATCH under the optimal speed trajectory, whereas the multi-objective dispatching model's improvement is only 9.84% to 21.89%. It also has significant advantages in terms of fleet productivity and fleet profit.
Teaching and learning programming, and especially object-oriented programming (OOP), is a complicated and challenging task. Students have to comprehend various OOP concepts and utilize them for designing object-orient...
详细信息
Teaching and learning programming, and especially object-oriented programming (OOP), is a complicated and challenging task. Students have to comprehend various OOP concepts and utilize them for designing object-oriented programs. Various types of educational programming environments, such as microworlds and educational games, have been devised for supporting novices mainly in comprehending OOP concepts. However, such environments do not usually support students in the conceptual design of object-oriented programs of a considerable length and complexity. In this paper, we focus on a systematic mapping study (SMS) of educational programming environments for enhancing the conceptual design in OOP, which relies on modularity, abstraction and encapsulation. The research questions investigate the intended learning outcomes, the empirical evidence on the effectiveness, and the teaching/learning technologies used by educational programming environments for enhancing the conceptual design in OOP. The findings can support instructors in selecting appropriate tools for their courses and researchers in the field of educational programming environments for OOP.
Testing in the software development process is one of the crucial disciplines. The immutability of deployed smart contracts makes tests particularly important in their design and implementation. The objective is to mi...
详细信息
Testing in the software development process is one of the crucial disciplines. The immutability of deployed smart contracts makes tests particularly important in their design and implementation. The objective is to minimize the costs of smart contract testing by reducing the number of test cases. The article presents the test suite reduction method for smart contracts, which exploits the knowledge of their design manner. In particular, the design of a mechanism for evaluating the list of verification rules controlling the execution of transactions was used. The proposed method defines a minimum set of test cases for smart contracts designed according to a specific design pattern. The test case reduction level was shown using analytical formulas enclosed in the paper. Compared to full coverage, the method reduces over 96% of test cases for a smart contract with at least eight verification rules. The performance tests were conducted and the analysis of the results was enclosed as well. Both the smart contract evaluation time and the test suite execution time are less than 0.01 of a millisecond. Besides, the method reduces the number of test data for smart contracts by over 79%. Therefore, the method can be especially useful in continuous software integration and delivery.
暂无评论