Quantitative system performance: computer system analysis using queueing network models
Quantitative system performance: computer system analysis using queueing network models
Computer capacity planning: theory and practice
Computer capacity planning: theory and practice
Queueing networks and Markov chains: modeling and performance evaluation with computer science applications
Computational algorithms for closed queueing networks with exponential servers
Communications of the ACM
Performance solutions: a practical guide to creating responsive, scalable software
Performance solutions: a practical guide to creating responsive, scalable software
IEEE Internet Computing
Product Form Queueing Networks
Performance Evaluation: Origins and Directions
Introduction: Service-oriented computing
Communications of the ACM - Service-oriented computing
Software Performance Engineering of a Web service-based Clinical Decision Support infrastructure
WOSP '04 Proceedings of the 4th international workshop on Software and performance
Migrating to web services: a performance engineering approach
Journal of Software Maintenance and Evolution: Research and Practice - Special issue: Web site evolution
The dawning of the autonomic computing era
IBM Systems Journal
QoS-Aware Replanning of Composite Web Services
ICWS '05 Proceedings of the IEEE International Conference on Web Services
A Queuing Model for Service Selection of Multi-classes QoS-aware Web Services
ECOWS '05 Proceedings of the Third European Conference on Web Services
Model-Based performance prediction with the palladio component model
WOSP '07 Proceedings of the 6th international workshop on Software and performance
A model-driven approach to describe and predict the performance of composite services
WOSP '07 Proceedings of the 6th international workshop on Software and performance
The JMT Simulator for Performance Evaluation of Non-Product-Form Queueing Networks
ANSS '07 Proceedings of the 40th Annual Simulation Symposium
Architecture-Based Software Reliability Analysis: Overview and Limitations
IEEE Transactions on Dependable and Secure Computing
Early prediction of software component reliability
Proceedings of the 30th international conference on Software engineering
Performance Model Estimation and Tracking Using Optimal Filters
IEEE Transactions on Software Engineering
A journey to highly dynamic, self-adaptive service-based applications
Automated Software Engineering
Quality Prediction of Service Compositions through Probabilistic Model Checking
QoSA '08 Proceedings of the 4th International Conference on Quality of Software-Architectures: Models and Architectures
Model-Driven Performance Analysis
QoSA '08 Proceedings of the 4th International Conference on Quality of Software-Architectures: Models and Architectures
Model evolution by run-time parameter adaptation
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Performance prediction of web service workflows
QoSA'07 Proceedings of the Quality of software architectures 3rd international conference on Software architectures, components, and applications
Metrics, methodology, and tool for performance-considered web service composition
ISCIS'05 Proceedings of the 20th international conference on Computer and Information Sciences
A learning-based approach for engineering feature-oriented self-adaptive software systems
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Engineering autonomic controllers for virtualized web applications
ICWE'10 Proceedings of the 10th international conference on Web engineering
Taming uncertainty in self-adaptive software
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.01 |
Modern software systems are built to operate in an open world setting. By this we mean software that is conceived as a dynamically adaptable and evolvable aggregate of components that may change at run time to respond to continuous changes in the external world. Moreover, the software designer may have different degrees of ownership, control, and visibility of the different parts that compose an application. In this scenario, design-time assumptions may be based on knowledge that may have different degrees of accuracy for the different parts of the application and of the external world that interacts with the system. Furthermore, even if initially accurate, they may later change after the system is deployed and running. In this paper we investigate how these characteristics influence the way engineers can deal with performance attributes, such as response time. Following a model-driven approach, we discuss how to use at design time performance models based on Queuing Networks to drive architectural reasoning. We also discuss the possible use of keeping models alive at run time. This enables automatic re-estimation of model parameters to reflect the real behavior of the running system, re-execution of the model, and detection of possible failure, which may trigger a reaction that generates suitable architectural changes. We illustrate our contribution through a running example and numerical simulations that show the effectiveness of the proposed approach.