5,594 research outputs found
A Game of Attribute Decomposition for Software Architecture Design
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
Recommended from our members
Self-tuning of software systems through goal-based feedback control loop
Quality requirements of a software system cannot be optimally met, especially when it is running in an uncertain and changing environment. In principle, a controller at runtime can monitor the change impact on quality requirements of the system, update the expectations and priorities from the environment, and take reasonable actions to improve the overall satisfaction. In practice, however, existing controllers are mostly designed for tuning low- level performance indicators rather than high-level requirements. By maintaining a live goal model to represent the runtime requirements and linking the overall satisfaction to an earned business value indicator as feedback, we propose a control-theoretic self-tuning method that can dynamically tune the preferences of different quality requirements, and can autonomously make the tradeoff decisions among different quality requirements through our preference-based goal reasoning. The reasoning result is involved to reconfigure the variation points of the goal model, and accordingly mapped to the system architecture reconfiguration. The effectiveness of our self-tuning method is evaluated by comparing the earned business value with the static and ad-hoc methods and analysing the self-tuning process
Multi-Criteria Decision Making in software development:a systematic literature review
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
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
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
- …