Cloud computing provides a reliable and costeffective setting for deploying large-scale web applications. However, choosing and configuring an appropriate cloud Infrastructure-as-a-Service (IaaS), e.g., the appropriate database and computing instances and acceptable service rates, is a daunting task. The task is also challenging when trying to optimize the IaaS for conflicting objectives such as performance and cost. Furthermore, due to lack of understanding of the pricing model and the cloud IaaS, a cloud consumer may pay more than necessary or may not fully utilize the purchased resources. For this reason, we propose an algorithm that suggests the most costeffective configuration meeting the QoS requirements and budget constraints. In contrast to existing cost optimization proposals, our proposed algorithm maps the minimum requirements of the to-be-deployed web application to deployment costs according to the price model set by cloud providers. The algorithm also considers QoS requirements for different resource types in the cloud, namely, database servers, computing servers, storage, and service rate. The proposed algorithm is evaluated by a series of experiments on a web application with seven different workload scenarios. The experimental results show the effectiveness of the proposed algorithm in achieving a solution with the minimum deployment cost for each scenario while satisfying QoS requirements.
Ontologies have been utilized in many different areas of software engineering. As software systems grow in size and complexity, the need to devise methodologies to manage the amount of information and knowledge becomes more apparent. Utilizing ontologies in requirement elicitation and analysis is very practical as they help to establish the scope of the system and facilitate information reuse. Moreover ontologies can serve as a natural bridge to transition from the requirements gathering stage to designing the architecture for the system. However manual construction of ontologies is time consuming, error prone and subjective. Therefore it is greatly beneficial to devise automated methodologies which allow knowledge extraction from system requirements using an automated and systematic approach. This paper introduces an approach to systematically extract knowledge from system requirements to construct different views of ontologies for the system as a part of a comprehensive framework to analyze and validate software requirements and design.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.