This paper presents a knowledge-based approach to analyzing fault-trees of engineering systems. This approach can be used to build a fault-tree from a graphical functional block diagram (using reduction for replicated...
详细信息
This paper presents a knowledge-based approach to analyzing fault-trees of engineering systems. This approach can be used to build a fault-tree from a graphical functional block diagram (using reduction for replicated events), to compute minimal cut sets, and to analyze the system for redesign suggestions. An implementation of this approach in a rule-based language is presented. The results are compared with manually prepared reliability reports on an electrical power system and an hydraulic system. The knowledge-based system outperforms the manual procedure in timeliness & accuracy.
Design plays a key role in the development of software. The quality of design is crucial and is a fundamental decision element in assessing the software product. The early availability of design quality evaluation pro...
详细信息
Design plays a key role in the development of software. The quality of design is crucial and is a fundamental decision element in assessing the software product. The early availability of design quality evaluation provides a better way to decide the quality of the final product. This avoids presumption in the quality evaluation process. Hence Software Metrics provide a valuable and objective insight of enhancing each of the software quality characteristics. This paper proposes a quality model to assess the design phase of any object-oriented system based on the works of Chidamber, Kemrer and Basili and suggests two new metrices. Teh research focuses on analyzing a set of metrices, which has direct influence on the quality of the software and creating a metrices tool based on Java that is carried out on a set of real world projects designed using Unified Modeling Language, which are used as test cases. These metrices and models are proposed to add more quality information in refining any object-oriented system during the early stages of design itself.
Modularity is one of the most important principles in software engineering and a necessity for every practical software. Since the design space of software is generally quite large, it is valuable to provide automatic...
详细信息
Modularity is one of the most important principles in software engineering and a necessity for every practical software. Since the design space of software is generally quite large, it is valuable to provide automatic means to help modularising it. An automatic technique for software modularisation using object-oriented concept analysis (OOCA) is proposed. The proposed technique is strongly inspired by the success of reverse engineering techniques based on formal concept analysis (FCA). However, our experience shows that FCA-based techniques generally result in fine-grained modules and, thus, may be inadequate for modularising large-scale designs. To overcome this weakness, the authors employ OOCA, a recent proposal for concept formulations. OOCA enables to provide coarse concepts as module candidates while keeping the advantage of FCA techniques. To the best of the authors' knowledge, it is the first work to apply OOCA in software engineering research. To illustrate the potential of the approach, the authors perform a software modularisation case study on a real insurance software design with comparison.
The present work proposes an object-oriented approach for the solution of problems in two-dimensional engineering mechanics. New classes (in the terminology of object-oriented programming) are proposed and implemented...
详细信息
The present work proposes an object-oriented approach for the solution of problems in two-dimensional engineering mechanics. New classes (in the terminology of object-oriented programming) are proposed and implemented in the popular programming language 'Python.' These classes, along with the symbolic computation module of Python 'sympy,' enable one to reduce the solution of a large class of problems in undergraduate engineering mechanics to a set of Python statements. These statements are definitions of objects as instances of the proposed classes and calling of their relevant methods. If the thought process in the manual solution is represented by a flowchart, the present work can be viewed as a flowchart translator. As all the calculations are automatically performed, the present work relieves the student from the burden and fear of lengthy calculations. Different diagrammatic representations of velocity, acceleration, shear force, and bending moments are included for better physical understanding. It is believed that the proposed simple implementation would make problem-solving and the learning process more enjoyable. Apart from a standard PC, the proposed work runs on a single-board computer (tested in raspberry pi 4) and on an Android mobile device. A student feedback study ascertains the acceptability of the proposed method.
object-oriented metrics have been validated empirically as measures of design complexity. These metrics can be used to mitigate potential problems in the software complexity. However, there are few studies that were c...
详细信息
object-oriented metrics have been validated empirically as measures of design complexity. These metrics can be used to mitigate potential problems in the software complexity. However, there are few studies that were conducted to formulate the guidelines, represented as threshold values, to interpret the complexity of the software design using metrics. Classes can be clustered into low and high risk levels using threshold values. In this paper, we use a statistical model, derived from the logistic regression, to identify threshold values for the Chidamber and Kemerer (CK) metrics. The methodology is validated empirically on a large open-source system-the Eclipse project. The empirical results indicate that the CK metrics have threshold effects at various risk levels. We have validated the use of these thresholds on the next release of the Eclipse project-Version 2.1-using decision trees. In addition, the selected threshold values were more accurate than those were selected based on either intuitive perspectives or on data distribution parameters. Furthermore, the proposed model can be exploited to find the risk level for an arbitrary threshold value. These findings suggest that there is a relationship between risk levels and object-oriented metrics and that risk levels can be used to identify threshold effects.
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.
We propose to use modal logic as a logic for coalgebras and discuss it in view of the work done on coalgebras as a semantics of object-oriented programming. Two approaches are taken: First, standard concepts of modal ...
详细信息
We propose to use modal logic as a logic for coalgebras and discuss it in view of the work done on coalgebras as a semantics of object-oriented programming. Two approaches are taken: First, standard concepts of modal logic are applied to coalgebras. For a certain kind of functor it is shown that the logic exactly captures the notion of bisimulation and a complete calculus is given. Examples of verifications of object properties are given. Second, we discuss the relationship of this approach with the coalgebraic logic of Moss (Coalgebraic logic, Ann. pure Appl. Logic 96 (1999) 277-317.). (C) 2001 Elsevier Science B.V. All rights reserved.
If today's software developers use models at all, they use them mostly as simple sketches of design ideas, often discarding them once they've written the code. This is sufficient for traditional code-centric d...
详细信息
If today's software developers use models at all, they use them mostly as simple sketches of design ideas, often discarding them once they've written the code. This is sufficient for traditional code-centric development. With a model-driven approach, however, the models themselves become the primary artifacts in the development of software. In this case, a clear, common understanding of the semantics of our modeling languages is at least as. important as a clear, common understanding of the semantics of our programming languages. There has been, and continues to be, a great deal of discussion within the software community on modeling and metamodeling and the relationships between modeling languages and metamodeling languages. Such relationships' circular nature makes them particularly hard to discuss clearly, often hiding many important but subtle issues at the foundation of what we do when we model. To address these issues as clearly as possible, I examine a set of questions whose answers, taken together, will help us understand the fundamental question, "What do models mean?" The result is a set of careful definitions for key terms that will let us cut through some of this topic's more confusing aspects. To understand the intent behind these definitions, we must also look at how other disciplines use models. After all, we should realize that, with a true model-driven approach to software development, we are using models in much the same way that other scientific and engineering disciplines use them. So, I've illustrated the definitions with simple (nontechnical) discussions of modeling in Newtonian physics and its application to engineering. The article's primary goal is, however, to discuss the modeling of software. Since the object Management Group first specified the Unified Modeling Language in 1997, UML has become the common modeling language of the software development community. (UML's current version is 1.5;(1) the draft specifications for Version 2.0 are
Computer-mediated teaching can be very effective in enhancing students' understanding of concepts and increasing their involvement in the classroom. This paper presents an interactive visual simulation tool to ass...
详细信息
Computer-mediated teaching can be very effective in enhancing students' understanding of concepts and increasing their involvement in the classroom. This paper presents an interactive visual simulation tool to assist instructors in demonstrating power system stability phenomena. Power flow computations, used to initialise the simulation, are carried out using Mat lab, whereas the simulation is implemented using Simulink. The Graphical User Interface (GUI), which controls the whole program and is constructed using C#, provides the capability to change system parameters/operating points interactively. To further the grasp of stability notions and reinforce the sense of seamless photorealistic interaction with the simulation, visual animation illustrating the synchronous generator along with virtual analogue meters, represented as ActiveX controls to portray inherent machine variables, are constructed. Several test cases, which cover various power system stability events, are described and analysed.
暂无评论