5,594 research outputs found

    A Game of Attribute Decomposition for Software Architecture Design

    Full text link
    Attribute-driven software architecture design aims to provide decision support by taking into account the quality attributes of softwares. A central question in this process is: What architecture design best fulfills the desirable software requirements? To answer this question, a system designer needs to make tradeoffs among several potentially conflicting quality attributes. Such decisions are normally ad-hoc and rely heavily on experiences. We propose a mathematical approach to tackle this problem. Game theory naturally provides the basic language: Players represent requirements, and strategies involve setting up coalitions among the players. In this way we propose a novel model, called decomposition game, for attribute-driven design. We present its solution concept based on the notion of cohesion and expansion-freedom and prove that a solution always exists. We then investigate the computational complexity of obtaining a solution. The game model and the algorithms may serve as a general framework for providing useful guidance for software architecture design. We present our results through running examples and a case study on a real-life software project.Comment: 23 pages, 5 figures, a shorter version to appear at 12th International Colloquium on Theoretical Aspects of Computing (ICTAC 2015

    Multi-Criteria Decision Making in software development:a systematic literature review

    Get PDF
    Abstract. Multiple Criteria Decision Making is a formal approach to assist decision makers to select the best solutions among multiple alternatives by assessing criteria which are relatively precise but generally conflicting. The utilization of MCDM are quite popular and common in software development process. In this study, a systematic literature review which includes creating review protocol, selecting primary study, making classification schema, extracting data and other relevant steps was conducted. The objective of this study are making a summary about the state-of-the-art of MCDM in software development process and identifying the MCDM methods and MCDM problems in software development by systematically structuring and analyzing the literature on those issues. A total of 56 primary studies were identified after the review, and 33 types of MCDM methods were extracted from those primary studies. Among them, AHP was defined as the most frequent used MCDM methods in software development process by ranking the number of primary studies which applied it in their studies, and Pareto optimization was ranked in the second place. Meanwhile, 33 types of software development problems were identified. Components selection, design concepts selection and performance evaluation became the three most frequent occurred problems which need to be resolved by MCDM methods. Most of those MCDM problems were found in software design phase. There were many limitations to affect the quality of this study; however, the strictly-followed procedures of SLR and mass data from thousands of literature can still ensure the validity of this study, and this study is also able to provide the references when decision makers want to select the appropriate technique to cope with the MCDM problems

    Time-bounded distributed QoS-aware service configuration in heterogeneous cooperative environments

    Get PDF
    The scarcity and diversity of resources among the devices of heterogeneous computing environments may affect their ability to perform services with specific Quality of Service constraints, particularly in dynamic distributed environments where the characteristics of the computational load cannot always be predicted in advance. Our work addresses this problem by allowing resource constrained devices to cooperate with more powerful neighbour nodes, opportunistically taking advantage of global distributed resources and processing power. Rather than assuming that the dynamic configuration of this cooperative service executes until it computes its optimal output, the paper proposes an anytime approach that has the ability to tradeoff deliberation time for the quality of the solution. Extensive simulations demonstrate that the proposed anytime algorithms are able to quickly find a good initial solution and effectively optimise the rate at which the quality of the current solution improves at each iteration, with an overhead that can be considered negligible

    Validating a model-driven software architecture evaluation and improvement method: A family of experiments

    Full text link
    Context: Software architectures should be evaluated during the early stages of software development in order to verify whether the non-functional requirements (NFRs) of the product can be fulfilled. This activity is even more crucial in software product line (SPL) development, since it is also necessary to identify whether the NFRs of a particular product can be achieved by exercising the variation mechanisms provided by the product line architecture or whether additional transformations are required. These issues have motivated us to propose QuaDAI, a method for the derivation, evaluation and improvement of software architectures in model-driven SPL development. Objective: We present in this paper the results of a family of four experiments carried out to empirically validate the evaluation and improvement strategy of QuaDAI. Method: The family of experiments was carried out by 92 participants: Computer Science Master s and undergraduate students from Spain and Italy. The goal was to compare the effectiveness, efficiency, perceived ease of use, perceived usefulness and intention to use with regard to participants using the evaluation and improvement strategy of QuaDAI as opposed to the Architecture Tradeoff Analysis Method (ATAM). Results: The main result was that the participants produced their best results when applying QuaDAI, signifying that the participants obtained architectures with better values for the NFRs faster, and that they found the method easier to use, more useful and more likely to be used. The results of the meta-analysis carried out to aggregate the results obtained in the individual experiments also confirmed these results. Conclusions: The results support the hypothesis that QuaDAI would achieve better results than ATAM in the experiments and that QuaDAI can be considered as a promising approach with which to perform architectural evaluations that occur after the product architecture derivation in model-driven SPL development processes when carried out by novice software evaluators.The authors would like to thank all the participants in the experiments for their selfless involvement in this research. This research is supported by the MULTIPLE Project (MICINN TIN2009-13838) and the ValI+D Program (ACIF/2011/235).González Huerta, J.; Insfrán Pelozo, CE.; Abrahao Gonzales, SM.; Scanniello, G. (2015). Validating a model-driven software architecture evaluation and improvement method: A family of experiments. Information and Software Technology. 57:405-429. https://doi.org/10.1016/j.infsof.2014.05.018S4054295
    • …
    corecore