Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Samuel A. Ajila is active.

Publication


Featured researches published by Samuel A. Ajila.


Software - Practice and Experience | 1995

Software maintenance: an approach to impact analysis of objects change

Samuel A. Ajila

The maintenance of a software system requires a tool for impact analysis and the propagation of change. This paper presents a knowledge‐based model for both. This model is generic because it is not based on any language or design method. Therefore, it can be applied on the basis of ‘problem’ to be solved. It also captures four life‐cycle phases: requirement, specification, design and programming. We also provide a domain‐specific view that allows the dependency analysis of fine‐grain objects. Two kinds of dependencies are identified: inter‐phase dependencies, these are dependency relations between the objects of the one phase and another; and intra‐phase dependencies, these are dependency relations between the objects of the same phase. In order to validate this model, we also present a prototype based on two life‐cycle phases: design and programming.


service oriented software engineering | 2013

Cloud Client Prediction Models for Cloud Resource Provisioning in a Multitier Web Application Environment

Akindele A. Bankole; Samuel A. Ajila

In order to meet Service Level Agreement (SLA) requirements, efficient scaling of Virtual Machine (VM) resources must be provisioned few minutes ahead due to the VM boot-up time. One way to proactively provision resources is by predicting future resource demands. In this research, we have developed and evaluated cloud client prediction models for TPC-W benchmark web application using three machine learning techniques: Support Vector Machine (SVM), Neural Networks (NN) and Linear Regression (LR). We included the SLA metrics for Response Time and Throughput to the prediction model with the aim of providing the client with a more robust scaling decision choice. Our results show that Support Vector Machine provides the best prediction model.


information reuse and integration | 2004

Using traceability mechanisms to support software product line evolution

Samuel A. Ajila; A.B. Kaba

This paper presents traceability mechanisms to support software product line evolution. Product line approach to software development requires designers to consider requirements for a family of products and the relationships between these requirements. This paper examines three kinds of evolution processes -architecture, product line, and product. Change management mechanisms are identified. These mechanisms share four strategies change identification, change impact, change propagation, and change validation. An evolution model based on dependency relationships structure of the various product line artifacts is developed.


Journal of Systems and Software | 2007

Experimental use of code delta, code churn, and rate of change to understand software product line evolution

Samuel A. Ajila; Razvan T. Dumitrescu

This research is a longitudinal study of change processes. It links changes in the product line architecture of a large telecommunications equipment supplier with the companys customers, inner context, and eight line card products over six-year period. There are three important time related constructs in this study: the time it takes to develop a new product line release; the frequency in which a metric is collected; and the frequency at which financial results and metrics related to the customer layer are collected and made available. Data collection has been organized by product release. The original goal of this research is to study the economic impact of market reposition on the product line and identify metrics that can be used to records changes in product line. We later look at the product line evolution vis-a-vis the changes in the products that form the product line. Our results show that there is no relationship between the size of the code added to the product line and the number of designers required to develop and test it; and there is a positive relationship between designer turnover and impact of change.


Journal of Systems and Software | 2008

Evolution support mechanisms for software product line process

Samuel A. Ajila; Ali B. Kaba

Software product family process evolution needs specific support for incremental change. Product line process evolution involves in addition to identifying new requirements the building of a meta-process describing the migration from the old process to the new one. This paper presents basic mechanisms to support software product line process evolution. These mechanisms share four strategies - change identification, change impact, change propagation, and change validation. It also examines three kinds of evolution processes - architecture, product line, and product. In addition, change management mechanisms are identified. Specifically we propose support mechanisms for static local entity evolution and complex entity evolution including transient evolution process. An evolution model prototype based on dependency relationships structure of the various product line artifacts is developed.


canadian conference on electrical and computer engineering | 2013

Predicting cloud resource provisioning using machine learning techniques

Akindele A. Bankole; Samuel A. Ajila

In order to meet Service Level Agreement (SLA) requirements, Virtual Machine (VM) resources must be provisioned few minutes ahead due to the VM boot-up time. One way to do this is by predicting future resource demands. In this research, we have developed and evaluated cloud client prediction models for TPCW benchmark web application using three machine learning techniques: Support Vector Machine (SVM), Neural Networks (NN) and Linear Regression (LR). We included the SLA metrics for Response Time and Throughput to the prediction model with the aim of providing the client with a more robust scaling decision choice. Our results show that Support Vector Machine provides the best prediction model.


computer software and applications conference | 2013

Cloud Client Prediction Models Using Machine Learning Techniques

Samuel A. Ajila; Akindele A. Bankole

One way to proactively provision resources and meet Service Level Agreements (SLA) is by predicting future resource demands a few minutes ahead because of Virtual Machine (VM) boot time. In this research, we have developed and evaluated cloud client prediction models for TPC-W benchmark web application using three machine learning techniques: Support Vector Machine (SVM), Neural Networks (NN) and Linear Regression (LR). We have included two SLA metrics -- Response Time and Throughput with the aim of providing the client with a more robust scaling decision choice. As an improvement to our previous work, we implemented our model on a public cloud infrastructure: Amazon EC2. Furthermore, we extended the experimentation time by over 200%. Finally, we have employed random workload pattern to reflect a more realistic simulation. Our results show that Support Vector Machine provides the best prediction model.


software engineering for adaptive and self managing systems | 2015

Towards an autonomic auto-scaling prediction system for cloud resource provisioning

Ali Yadavar Nikravesh; Samuel A. Ajila; Chung-Horng Lung

This paper investigates the accuracy of predictive auto-scaling systems in the Infrastructure as a Service (IaaS) layer of cloud computing. The hypothesis in this research is that prediction accuracy of auto-scaling systems can be increased by choosing an appropriate time-series prediction algorithm based on the performance pattern over time. To prove this hypothesis, an experiment has been conducted to compare the accuracy of time-series prediction algorithms for different performance patterns. In the experiment, workload was considered as the performance metric, and Support Vector Machine (SVM) and Neural Networks (NN) were utilized as time-series prediction techniques. In addition, we used Amazon EC2 as the experimental infrastructure and TPC-W as the benchmark to generate different workload patterns. The results of the experiment show that prediction accuracy of SVM and NN depends on the incoming workload pattern of the system under study. Specifically, the results show that SVM has better prediction accuracy in the environments with periodic and growing workload patterns, while NN outperforms SVM in forecasting unpredicted workload pattern. Based on these experimental results, this paper proposes an architecture for a self-adaptive prediction suite using an autonomic system approach. This suite can choose the most suitable prediction technique based on the performance pattern, which leads to more accurate prediction results.


information reuse and integration | 2004

Knowledge management: impact of knowledge delivery factors on software product development efficiency

Samuel A. Ajila; Zheng Sun

Software development (SWD) is a knowledge intensive activity. SWD organizations apply knowledge management system (KMS) to create, gather, store and distribute in-house knowledge. Studies show that employing KMS might introduce risks as well as benefits. Better understanding of how different characteristics of KMS affect SWD efficiency will help organizations increase the benefits and reduce the potential risks at the same time. In this empirical research study, we investigated the effects of knowledge delivery factors on SWD efficiency. Based on data collected from forty one software development companies in North America, the authors examine the impact of knowledge delivery factors. Results obtained show that pull, not push, approach of knowledge delivery is more effective; that SWD will be more efficient if knowledge is delivered close to the time it is needed; and that SWD efficiency is not affected by how deeply knowledge delivery is embedded in the development process.


computer software and applications conference | 2014

Measuring Prediction Sensitivity of a Cloud Auto-scaling System

Ali Yadavar Nikravesh; Samuel A. Ajila; Chung-Horng Lung

Elasticity is one of the key benefits of cloud computing which helps customers reduce the cost. Although elasticity is beneficiary in terms of cost, obligation of maintaining Service Level Agreements leads to necessity in dealing with the cost-performance trade-off. Proactive auto-scaling is an efficient approach to overcome this problem. In this approach scaling actions are generated based on prediction results. Recently, several research studies have been focusing on improving prediction accuracy in order to improve the efficiency of auto-scaling mechanisms. However, the sensitivity of auto-scaling mechanisms to the prediction results is neglected in the domain. In this work we have investigated the sensitivity of auto-scaling mechanisms to the prediction results by evaluating the influence of performance predictions accuracy on the auto-scaling actions. Specifically, we have compared actions of threshold based scaling techniques which are generated based on Support Vector Machine (SVM) and Neural Networks (NN) predictions. Our experimental results show that although SVM is more accurate than NN, scaling decisions made by the two algorithms are identical in 91.5% of the time. Furthermore, we have shown that the optimal training duration for SVM and NN is about 60% of experiment duration.

Collaboration


Dive into the Samuel A. Ajila's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Abdulaziz Alkhalid

King Abdullah University of Science and Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge