object-oriented Programming is one of the most used paradigms. Complementarily, the software maintainability is considered a software attribute playing an important role in quality level. In this context, object-Orien...
详细信息
object-oriented Programming is one of the most used paradigms. Complementarily, the software maintainability is considered a software attribute playing an important role in quality level. In this context, object-orientedsoftware Maintainability (OOSM) has been studied through years, and many researchers have proposed a large number of metrics to measure it. Consequently, the decision-making process about which metrics can be adopted in experiments on OOSM is a hard task. Therefore, a metrics' categorization has been proposed to facilitate this process. As result, 7 categories and 17 subcategories were identified. These categories represent the scenarios of OOSM metrics adoption, and a family of OOSM metrics catalog was generated based on the selection of a metrics' categorization. Additionally, a quasi-experiment was conducted to check the coverage index of the catalogs generated using our approach over the catalogs suggested by experts. 90% of coverage was obtained with 99% of confidential level using the Wilcoxon Test. Complementarily, a survey was conducted to check the experts' opinion about the catalog generated by the portal when they were compared by the catalogs suggested by them. Therefore, this evaluation can be the first evidences of the usefulness of the family of the catalogs based on the metrics' categorization. (C) 2015 Elsevier Inc. All rights reserved.
software systems are subject to series of changes during their evolution as they move from one release to the next. The change histories of software systems hold useful information that describes how artifacts evolved...
详细信息
software systems are subject to series of changes during their evolution as they move from one release to the next. The change histories of software systems hold useful information that describes how artifacts evolved. Evolution-based metrics, which are the means to quantify the change history, are potentially good indicators of the changes in a software system. The objective of this paper is to derive and validate (theoretically and empirically) a set of evolution-based metrics as potential indicators of the change-prone classes of an object-oriented system when moving from one release to the next. Release-by-release statistical prediction models were built in different ways. The results indicate that the proposed evolution-based metrics measure different dimensions from those of typical product metrics. Additionally, several evolution-based metrics were found to be correlated with the change-proneness of classes. Moreover, the results indicate that more accurate prediction of class change-proneness is achieved when the evolution-based metrics are combined with product metrics. Copyright (c) 2012 John Wiley & Sons, Ltd.
In this paper, we propose constraint-based modeling using constraint patterns, which can utilize information of constraint effectively, reuse the structure of efficient and executable software, and construct constrain...
详细信息
ISBN:
(纸本)9789806560536
In this paper, we propose constraint-based modeling using constraint patterns, which can utilize information of constraint effectively, reuse the structure of efficient and executable software, and construct constraint representation and constraint solvers suitable to domains easily. In order to construct domain-specific constraint solvers, we define the new pattern realized by combining extended patterns and existing patterns as constraint pattern. We show that by sub-classing and refining components of constraint patterns, object-oriented software development using constraint solvers which maintain consistency of relationships among domain-specific objects and among attributes on an object leads to easy construction of applications. We select two problems: GUI system for information control system and design system for mechanical engineering as application, and apply constraint-based modeling to these problems. Furthermore, typical problems of constraint satisfaction problem are also selected and applied as applications. The result of these applications shows that our development method using constraint-based modeling leads to easy development of object-oriented systems that include constraint solver systems facilitating declarative description of relations among objects and flexible control of behavior of these objects, by regarding these relations as constraint.
Any real-time control application run by a digital computer (or any sequential machine) demands a very fast processor in order to make the time-lag from data sensing to issuance of a control action closest to zero. In...
详细信息
Any real-time control application run by a digital computer (or any sequential machine) demands a very fast processor in order to make the time-lag from data sensing to issuance of a control action closest to zero. In some instances, the algorithm used requires a relatively large primary memory which is crucial especially when implemented in a microcontroller. This paper presents a novel implementation of a multi-output fuzzy controller (which is known in this paper as MultiOFuz), which utilizes lesser memory and executes faster than a type of an existing multiple single-output fuzzy logic controllers. The design and implementation of the developed controller employed the object-oriented approach with program level code optimizations. MultiOFuz is a reusable software component and the simplicity of how to interface this to control applications is presented. Comparative analyses of algorithms, memory usage and simulations are presented to support our claim of increased efficiency in both execution time and storage use. Future directions of MultiOFuz are also discussed.
This paper describes a functional tool for engineers to make rational design decisions by balancing cost and safety. Focus is on seismic design, in which nonlinear structural response must be considered. For this purp...
详细信息
This paper describes a functional tool for engineers to make rational design decisions by balancing cost and safety. Focus is on seismic design, in which nonlinear structural response must be considered. For this purpose, we implement and apply a state-of-the-art algorithm for reliability-based design optimization. The work extends the OpenSees software, which is rapidly gaining users in the earthquake engineering community. Consequently, design optimization with sophisticated nonlinear finite element models of real structures is possible. An object-orientedsoftware architecture is employed that focuses on maintainability and extensibility of the software. This approach also offers flexibility in the choice of optimization and reliability methods for each specific problem, supported by the decoupled nature of the optimization algorithm. Our work utilizes and extends the existing tools for structural reliability analysis in OpenSees. In particular, we employ response sensitivities that are computed within the finite element code by direct differentiation. The implementation is tested through case studies with nonlinear structural response. Discontinuous response gradients are overcome by use of fibre cross sections and smoothed material models. The numerical examples include the seismic design optimization of a six-storey, three-bay, reinforced concrete building.
object-oriented software development as well as relational data storage are leading standards in their respective areas. The persistent storage of objects in relational tables is therefore a topic of major interest. T...
详细信息
object-oriented software development as well as relational data storage are leading standards in their respective areas. The persistent storage of objects in relational tables is therefore a topic of major interest. To do so efficiently, a plethora of problems has to be overcome due to the impedance mismatch between the object-oriented and relational paradigms. Nowadays, dedicated object-relational middlewares are frequently used to decouple relational databases from object-oriented applications. Even if this approach shields the developer from the majority of run-time related aspects, the manual mapping of incrementally evolving complex object models to relational tables still remains as an inherently difficult and error-prone task. Therefore, this article focuses on automation support for the model driven generation and testing of object-relational mappings. (c) 2004 Elsevier Inc. All rights reserved.
In object-oriented design, behavioral modeling aims at describing the behavior of objects using state machines. State machines can also be used in dynamic reverse engineering to capture the overall run-time behavior o...
详细信息
In object-oriented design, behavioral modeling aims at describing the behavior of objects using state machines. State machines can also be used in dynamic reverse engineering to capture the overall run-time behavior of the objects of interest. The unified modeling language (UML) statechart diagram notation provides powerful means to structure state machines, thus avoiding the plague of combinatorial explosion. Tool support for constructing statechart diagrams automatically from example scenarios is currently available. These tools are applicable in both forward and reverse engineering. For complicated objects, the statechart diagrams tend to be large, which makes them difficult to visualize and understand. In this paper, we discuss information preserving means to transform flat statechart diagrams into a more compact form. These algorithms can be applied to both manually constructed and automatically generated diagrams. The proposed technique is integrated with a UML-based software design environment TED. (C) 2002 Elsevier Science B.V. All rights reserved.
We describe the design and implementation of system architecture to support object introspection in C++. In this system, information is collected by parsing class declarations, and is used to build a supporting enviro...
详细信息
We describe the design and implementation of system architecture to support object introspection in C++. In this system, information is collected by parsing class declarations, and is used to build a supporting environment for object introspection. Our approach is non-intrusive because it requires no changes in the original class declarations and libraries;hence, binary compatibility between objects before and after the addition of introspective capability is ensured. This is critical if one wants to integrate third-party class libraries, which are often supplied as black boxes and allow no modification, into highly dynamic applications. We present two applications: the first is automatic I/O support for C++ objects, and the other is interactive exercise of dynamically loaded C++ class libraries. Copyright (C) 2001 John Wiley Sons, Ltd.
The purpose of this paper is to first showcase the concept of an operation schema-a precise form of system-level operation specification-and secondly show how operation schemas enhance development when they are used a...
详细信息
ISBN:
(纸本)354041133X
The purpose of this paper is to first showcase the concept of an operation schema-a precise form of system-level operation specification-and secondly show how operation schemas enhance development when they are used as a supplement to use case descriptions. An operation schema declaratively describes the effects of a system operation by pre- and postconditions using the object Constraint Language (OCL), as defined by the Unified Modeling Language (UML). In particular, the paper highlights techniques to map use cases to operation schemas and discusses the advantages of doing so in terms of clarifying the granularity and purpose of use cases and providing a precise specification of system behavior.
The purpose of this paper is to first showcase the concept of an operation schemá a precise form of system-level operation specification and secondly show how operation schemas enhance development when they are u...
详细信息
ISBN:
(纸本)9783540411338
The purpose of this paper is to first showcase the concept of an operation schemá a precise form of system-level operation specification and secondly show how operation schemas enhance development when they are used as a supplement to use case descriptions. An operation schema declaratively describes the effects of a system operation by pre- and postconditions using the object Constraint Language (OCL), as defined by the Unified Modeling Language (UML). In particular, the paper highlights techniques to map use cases to operation schemas and discusses the advantages of doing so in terms of clarifying the granularity and purpose of use cases and providing a precise specification of system behavior.
暂无评论