The results of a systematic literature review conducted for variability modelling in software component models are analysed and presented here. A well-planned protocol guided the screening of 3230 papers that resulted...
详细信息
The results of a systematic literature review conducted for variability modelling in software component models are analysed and presented here. A well-planned protocol guided the screening of 3230 papers that resulted in the identification of 55 papers. Reviewing these papers, 23 of them were considered as primary studies related to our research questions. A comparison framework is introduced to further understand, assess, and compare those selected papers. Observations about the important aspects of component models that support the variability capability are summarised. Prominent trends and approaches are discussed along with a comparative analysis of the component models. Only a few component models were found to be explicitly accommodating variability concerns. The identified variability modelling problems require further research for attaining better reuse capabilities.
The article is halfway between agent technology and the mathematical reasoning needed to model tactical decision-making tasks. These models are applied to the air defense domain for command and control (C2). The artic...
详细信息
The article is halfway between agent technology and the mathematical reasoning needed to model tactical decision-making tasks. These models are applied to the air defense domain for command and control (C2). The article also addresses the issues related to evaluating agents, which are designed and implemented using the agent-programming paradigm. The agents are deployed in a simulated environment for performing C2 tasks, such as electronic counter-countermeasures, threat assessment, and weapon allocation. The simulated defense system runs without any human intervention and represents a state-of-the-art model for C2 autonomy. The use of agents as autonomous decision-making entities is particularly useful in view of futuristic network-centric warfare.
A fundamental question in object-oriented design is how to design maintainable software. According to expert opinion, a delegated control style, typically a result of responsibility-driven design, represents object-or...
详细信息
A fundamental question in object-oriented design is how to design maintainable software. According to expert opinion, a delegated control style, typically a result of responsibility-driven design, represents object-oriented design at its best, whereas a centralized control style is reminiscent of a procedural solution, or a "bad" object-oriented design. This paper presents a controlled experiment that investigates these claims empirically. A total of 99 junior, intermediate, and senior professional consultants from several international consultancy companies were hired for one day to participate in the experiment. To compare differences between (categories of) professionals and students, 59 students also participated. The subjects used professional Java tools to perform several change tasks on two alternative Java designs that had a centralized and delegated control style, respectively. The results show that the most skilled developers, in particular, the senior consultants, require less time to maintain software with a delegated control style than with a centralized control style. However, more novice developers, in particular, the undergraduate students and junior consultants, have serious problems understanding a delegated control style, and perform far better with a centralized control style. Thus, the maintainability of object-oriented software depends, to a large extent, on the skill of the developers who are going to maintain it. These results may have serious implications for object-oriented development in an industrial context: Having senior consultants design object-oriented systems may eventually pose difficulties unless they make an effort to keep the designs simple, as the cognitive complexity of "expert" designs might be unmanageable for less skilled maintainers.
The objective of design methodologies is to provide a rational framework for the sequencing of choices in producing a design. The waterfall model establishes a sequence of stages to guide the development process. Th...
详细信息
The objective of design methodologies is to provide a rational framework for the sequencing of choices in producing a design. The waterfall model establishes a sequence of stages to guide the development process. This model has recently been under considerable criticism because it is believed to misallocate resources, as a result of its improper model of the software development process. A successful methodology must be developed on sound technical and economic bases. A representative set of design methodologies was selected for a demonstration of how the analyses of the methodologies can be formulated as mathematical or economic models that can be studied, in hopes of convincing others of the value of quantifying design methodologies. Further application of economic modeling techniques is expected to lead to improved understanding of the choices that are made in developing software.
A key issue involved with software engineering education consists of how to guarantee that adequate software engineering principles are being followed at the code level, thus reinforcing that students produce high-qua...
详细信息
A key issue involved with software engineering education consists of how to guarantee that adequate software engineering principles are being followed at the code level, thus reinforcing that students produce high-quality code. Reviewing and grading student projects to verify whether they followed such principles is a time-consuming task, since this typically involves manual code inspection. In this paper, we exploit code quality tools and metrics to automatically assess student projects with respect to methods with many responsibilities (i.e., where the Extract Method refactoring should be applied), and evaluate their effectiveness. We conducted a study using two sets of student projects, developed in two academic semesters. Our results indicate that, to reduce the effort required to grade projects, two traditional code metrics, namely method lines of code and number of statements, perform best, and other metrics can be selected according to the system being implemented. (C) 2017 Wiley Periodicals, Inc.
This article gives a detailed presentation of constraint satisfaction in the hybrid LAURE language. LAURE is an object-oriented language for Artificial Intelligence (AI) applications that allows the user to combine ru...
详细信息
This article gives a detailed presentation of constraint satisfaction in the hybrid LAURE language. LAURE is an object-oriented language for Artificial Intelligence (AI) applications that allows the user to combine rules, constraints, and methods that cooperate on the same objects in the same program. We illustrate why this extensibility is necessary to solve some large and difficult problems by presenting a real-life application of LAURE. We describe the syntax and the various modes in which constraints may be used, as well as the tools that are proposed by LAURE to extend constraint resolution. The resolution strategy as well as some implementation details are given to explain how we obtain good performances.
The majority of problems arising in science and engineering require the solution of a large set of linear algebraic equations such as, in matrix form. Ax = b. This type of equation is usually solved using some form of...
详细信息
The majority of problems arising in science and engineering require the solution of a large set of linear algebraic equations such as, in matrix form. Ax = b. This type of equation is usually solved using some form of Gaussian elimination. It is necessary to the finite element users that the nodes and elements are numbered correctly since nearly all computer programs contain linear algebra solution routines. These are usually expressly written to operate efficiently on matrices possessing small bandwidths, profiles or wavefronts (frontwidths). The object-oriented implementation of bandwidth, profile and wavefront reduction is based on an algorithm published by Sloan, which seems to perform consistently better to that of the widely used reverse Cuthill-McKee method and the Gibbs-King method. This article presented for the first time during CST'96 Conference [Gajewski, R.R., Lompies, P., object-oriented implementation of bandwidth, profile and wavefront reduction algorithms, In: Advances in Computational Structures Technology, ed. B.H.V. Topping, Civil Comp Press, 1996, pp. 115-120.] provides a full description of the implemented classes, their hierarchy and implementation. It is also illustrated by examples of practical calculations. (C) 1999 Elsevier Science Ltd and Civil-Comp Ltd. All rights reserved.
The motivation of this study is to bridge the gap between component providers and component users, especially in the area of component evaluation, using component information flow (CIF) measurement and multidimensiona...
详细信息
The motivation of this study is to bridge the gap between component providers and component users, especially in the area of component evaluation, using component information flow (CIF) measurement and multidimensional approaches for measurement interpretation. By measuring the design of component-based software systems (CBSS), software designers, testers and maintainers may be able to locate weaknesses in the system design and to estimate the effort required to test as well as the cost of maintenance. This study proposes a CIF based on inter-component flow and intra-component flow. Moreover, a set of metrics based on the CIF was developed to characterise and evaluate the effect of the component design size on the quality of CBSS design. The theoretical evaluation results indicated that the proposed metrics are valid size measures. An application that demonstrates the intuitiveness of the mentioned approach is also presented. Results show that multidimensional analysis of design size appears promising as a means of capturing the quality of the CBSS design in question.
The objectorientedprogramming technique can greatly improve the implementation efficiency, extendibility and ease of maintenance of large engineering software. In this paper, an object-oriented framework for impleme...
详细信息
The objectorientedprogramming technique can greatly improve the implementation efficiency, extendibility and ease of maintenance of large engineering software. In this paper, an object-oriented framework for implementing the finite element method is presented. The framework was designed to exploit the commonalties in the methodology between the numerous types of analysis, applied loads, constraints and equation solving algorithms so that duplication is minimized and software reuse is maximized when new capabilities are added to the software. Furthermore, the framework ensures that minimal or no modifications are required to previously implemented functions and classes when the software is extended. (C) 2001 Elsevier Science Ltd. All rights reserved.
This paper explores the benefits of prototyping object-oriented simulation models in a symbolic programming language. After a brief description of the project's motivation the main characteristics of object orient...
详细信息
This paper explores the benefits of prototyping object-oriented simulation models in a symbolic programming language. After a brief description of the project's motivation the main characteristics of object orientation as a programming methodology are discussed within the context of the Scheme programming language. This is followed by a description of the Canterbury Flavour System (C-Flavours), with particular emphasis on how coroutine methods are used to support process-oriented modelling styles. A characterization of architecture and usage of a typical queueing networks simulator then serves to demonstrate C-Flavours' utility for this class of applications. The paper concludes with a brief summary of related research activities in this area and some general comments on the merits of object orientation for the construction of modelling systems and simulators.
暂无评论