Rami Bahsoon

dblp:61/4460 · DBLP profile ↗
← Back
100ranked-venue papers
13as first author
43since 2021 · last 2026
0000-0002-1139-5795ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 57 · 6 first-author · 24 since 2021Applied, interdisciplinary, general and emerging computing · 15 · 2 first-author · 5 since 2021Systems, architecture and hardware · 12 · 1 first-author · 7 since 2021Artificial intelligence and machine learning · 7 · 1 first-author · 5 since 2021Databases, data management, data science and information retrieval · 6 · 4 since 2021Human-computer interaction and ubiquitous computing · 4 · 3 since 2021Computer networks · 1
YearPublicationVenuePosition
2026 Integrating Heterogeneous Digital Twins in Federated Ecosystems
Christian Vergara, Rami Bahsoon, Nikos Tziritas, Wendy Yanez-Pazmino, Panagiotis Oikonomou, Georgios Theodoropoulos 0001
MDM2
2026 Security Architectural Approaches and Risk Assessment Methods for Blockchain Systems: A Review and Future Directions
abstract
Amid the widespread use of blockchain technology, the escalating frequency of cyberattacks exploiting its inherent security challenges underscores the critical necessity for a robust and adaptable security risk assessment approach. The distinctive attributes and intricate internal structure of blockchain not only attract malicious actors but also elevate the risk of ill-informed architectural design decisions, potentially introducing security vulnerabilities. This study addresses this imperative by conducting a systematic literature review, classifying publications that elucidate secure architectural design approaches and categorising those that delineate methods for assessing security risks associated with blockchain and smart contracts. The findings reveal four prevalent approaches supporting secure architectural design—decision models, taxonomies, design patterns and guidelines—alongside contributions in blockchain risk assessment encompassing risk identification, analysis and evaluation methods. Furthermore, the study identifies unresolved architectural design challenges and proposes future research directions in this evolving landscape.
Sabreen Ahmadjee, Carlos Joseph Mera-Gómez, Rami Bahsoon, Rajkumar Buyya
Distributed Ledger Technol. Res. Pract.3
2026 SPECTRA: A Markovian Framework for Managing NFR Tradeoffs in Systems with Mixed Observability
abstract
Non-Functional Requirements (NFRs) play a critical role in driving self-adaptation in software systems. In Self-Adaptive Systems (SAS), satisfying multiple NFRs simultaneously introduces significant complexity, as these requirements often conflict—improving one NFR can negatively impact others. Addressing such tradeoffs becomes even more challenging due to the varying degrees of observability of NFRs, with some being fully observable and others only partially observable. Traditional approaches to SAS decision-making, such as those based on Markov Decision Processes (MDPs), often assume homogeneous observability, which limits their ability to address these challenges effectively. We argue that treating NFRs as having mixed observability—where some are fully observable and others are partially observable—enables more effective decision-making. How can SAS model and resolve tradeoffs among NFRs with mixed observability to achieve better outcomes? This article introduces SPECTRA, a multi-objective decision framework based on MDPs. SPECTRA addresses tradeoffs among NFRs by leveraging a multi-objective Mixed Observability Markov Decision Process (MOMDP), which models and handles the varying observability of NFRs effectively. The approach is evaluated using scenarios from MirrorNet, a realistic Remote Data Mirroring (RDM) system utilizing Software-Defined Networking (SDN). Results show that SPECTRA achieves higher utility values, faster policy planning, and more effective tradeoffs compared to existing approaches.
Hargyo T. N. Ignatius, Huma Samin, Rami Bahsoon, Nelly Bencomo
ACM Trans. Auton. Adapt. Syst.3
2025 Locality-Aware QoS Optimization for Microservices Scheduling in Kubernetes Cluster
abstract
Microservices and Kubernetes are increasingly adopted for building and deploying large-scale distributed software systems in cloud computing environment. A microservice architecture divides an application into smaller, loosely coupled microservices, each of which can be deployed and scaled independently in Kubernetes cluster. While this flexibility allows for dynamic scaling of microservice instances to meet user demands, but the complex dependencies among these microservices can pose challenges in effectively managing microservices application performance and their impact on the Quality of Service (QoS) during on-demand instances scheduling. In this paper, we propose LOCUS, a locality aware QoS optimizer for scheduling microservices in Kubernetes cluster. The locus-optimizer is designed on top of observability ecosystem that leverage real-time performance metrics data to optimize node selection process in default Kubernetes scheduling framework. Further, the locality awareness implicitly favors the microservices dependencies without creating hard-rules based scheduling process. We evaluate our approach on a large scale microservices workload. The results confirm that in contrast to the default scheduling mechanism, the locus-optimizer achieves better microservices QoS.
Nawar Jawad, Rami Bahsoon
HPCC3
2025 Empowering software startups with agile methods and practices: A design science research
abstract
Abstract The growing number of software startups has witnessed an open debate on the suitability and appropriateness of commonly used software development methodologies, including agile software development methodologies and practices. Startups, for example, tend to focus on producing minimum viable product, which challenge the use of these methods and calls for bespoke adaptation of these practices to suit startups. Agile adoption is not easy for software startup teams due to unreadiness, inadequate preparation and weak structure of these teams, focusing only on small part of agile practices, and high uncertainty in essential requirements and proper technology. A review of the state‐of‐the‐art reports on limited number of studies that have investigated the adoption of agile methods and practices to best suit the requirements software startups. This study uses design science research methodology to address this gap and develop a guideline for agile adaptation specifically for software startups. The developed guideline was validated and improved with the participation of 23 experts from 7 software startup teams through survey questionnaires and open discussion. This guideline includes 13 recommendations, categorized into three sections: selection of agile methods and practices, preparation for adaptation, and the adaptation of agile methods and practices. Evaluation of the results shows the simplicity of understanding the guideline, its usefulness, and its support for the expected agility of the software development process.
Taghi Javdani, Hazura Zulzalil, Rami Bahsoon
Softw. Pract. Exp.3
2025 Decision Support Model for Selecting the Optimal Blockchain Oracle Platform: An Evaluation of Key Factors
abstract
Smart contract-based applications are executed in a blockchain environment, and they cannot directly access data from external systems, which is required for the service provision of these applications. Instead, smart contracts use agents known as blockchain oracles to collect and provide data feeds to the contracts. The functionality and compatibility with smart contract applications need to be considered when selecting the best-fit oracle platform. As the number of oracle alternatives and their features increases, the decision-making process becomes increasingly complex. Selecting the wrong or sub-optimal oracle is costly and may lead to severe security risks. This article provides a decision support model for the oracle selection problem. The model supports smart contract decision-makers in selecting a secure, cost-effective, and feasible oracle platform for their applications. We interviewed oracle co-founders and smart contracts experts to refine and validate the decision model. Two real-world smart contract application case studies were used to evaluate the model. Our model prioritises and suggests more than one possible oracle platform based on the developer’s required criteria, security assessment and cost analysis. Moreover, this guided decision model serves to reveal issues that may go unnoticed if done haphazardly, reduce decision-making efforts and provide a cost-effective solution.
Sabreen Ahmadjee, Carlos Joseph Mera-Gómez, Siamak Farshidi, Rami Bahsoon, Rick Kazman
ACM Trans. Softw. Eng. Methodol.4
2025 Evaluating the Need for Explanations in Blockchain Smart Contracts to Reconcile Surprises
abstract
Smart contracts on the blockchain play an important role in decentralised systems by automating and executing agreements without the need for intermediaries. As these contracts become integral to various domains, ensuring users’ understanding of their functioning is paramount. This article investigates the need for explanations in smart contracts, drawing inspiration from contract law principles and established practices in Explainable AI (XAI). It introduces key purposes—justification, clarification, compliance and consent to design explainability. Additionally, the study proposes a novel assessment framework informed by the Metacognitive Explanation-Based (MEB) theory to systematically evaluate surprise potential in smart contracts lacking explanations. We use surprise as a guiding factor to systematically identify areas requiring improvement in terms of justification, clarification, compliance and consent. To demonstrate the utility of the assessment approach, we evaluate two decentralised lending projects, uncovering potential surprises. One of the key observations is the lack of setting information, especially concerning compliance, consent and decision justification. This absence of information has heightened the potential for surprises. In the process of validating the explanation purposes, we implement techniques to improve the design of the assessed smart contracts. Further, the research explores the tradeoffs involved in integrating explanations, providing nuanced insights into economic implications such as increased deployment and execution costs. This work contributes to the broader comprehension of smart contract explainability requirements and lays out a theoretical foundation for a generic evaluation method. It aims to facilitate the development of more human-centric and comprehensible smart contracts.
Hanouf Al Ghanmi, Sabreen Ahmadjee, Rami Bahsoon
ACM Trans. Softw. Eng. Methodol.3
2025 Dividable Configuration Performance Learning
abstract
Machine/deep learning models have been widely adopted to predict the configuration performance of software systems. However, a crucial yet unaddressed challenge is how to cater for the sparsity inherited from the configuration landscape: the influence of configuration options (features) and the distribution of data samples are highly sparse. In this paper, we propose a model-agnostic and sparsity-robust framework for predicting configuration performance, dubbedDaL, based on the new paradigm of dividable learning that builds a model via “divide-and-learn”. To handle sample sparsity, the samples from the configuration landscape are divided into distant divisions, for each of which we build a sparse local model, e.g., regularized Hierarchical Interaction Neural Network, to deal with the feature sparsity. A newly given configuration would then be assigned to the right model of division for the final prediction. Further,DaLadaptively determines the optimal number of divisions required for a system and sample size without any extra training or profiling. Experiment results from 12 real-world systems and five sets of training data reveal that, compared with the state-of-the-art approaches,DaLperforms no worse than the best counterpart on 44 out of 60 cases (within which 31 cases are significantly better) with up to$1.61\times$improvement on accuracy; requires fewer samples to reach the same/better accuracy; and producing acceptable training overhead. In particular, the mechanism that adapted the parameter$d$can reach the optimal value for 76.43% of the individual runs. The result also confirms that the paradigm of dividable learning is more suitable than other similar paradigms such as ensemble learning for predicting configuration performance. Practically,DaLconsiderably improves different global models when using them as the underlying local models, which further strengthens its flexibility. To promote open science, all the data, code, and supplementary materials of this work can be accessed at our repository:https://github.com/ideas-labo/DaL-ext.
Jingzhi Gong, Tao Chen 0001, Rami Bahsoon
IEEE Trans. Software Eng.3
2024 Dynamic Digital Twins of Blockchain Systems: State Extraction and Mirroring
abstract
Blockchain adoption is reaching an all-time high, with a plethora of blockchain architectures being developed to cover the needs of applications eager to integrate blockchain into their operations. However, blockchain systems suffer from the trilemma trade-off problem, which limits their ability to scale without sacrificing essential metrics such as decentralisation and security. The balance of the trilemma trade-off is primarily dictated by the consensus protocol used. Since consensus protocols are designed to function well under specific system conditions, and consequently, due to the blockchain’s complex and dynamic nature, systems operating under a single consensus protocol are bound to face periods of inefficiency. The work presented in this paper constitutes part of an effort to design a Digital Twin-based blockchain management framework to balance the trilemma trade-off problem, which aims to adapt the consensus process to fit the conditions of the underlying system. Specifically, this work addresses the problems of extracting the blockchain system and mirroring it in its digital twin by proposing algorithms that overcome the challenges posed by blockchains’ decentralised and asynchronous nature and the fundamental problems of global state and synchronisation in such systems. The robustness of the proposed algorithms is experimentally evaluated.
Georgios Diamantopoulos, Nikos Tziritas, Rami Bahsoon, Nan Zhang 0027, Georgios Theodoropoulos 0001
DS-RT3
2024 MatchCom: Stable Matching-Based Software Services Composition in Cloud Computing Environments
Renyu Yang, Rajiv Ranjan 0001, Rami Bahsoon, Jie Xu 0007, Rajkumar Buyya
ICWE4
2024 Towards LLM Augmented Discrete Event Simulation of Blockchain Systems
abstract
Despite recent leaps in artificial intelligence and natural language generation, which have led to widespread adoption, the integration of large language models in modelling and simulation has been limited. This work discusses the use of pre-trained large language models for the augmentation of a discrete event blockchain simulation system and their possible implications.
Georgios Diamantopoulos, Georgios Theodoropoulos 0001, Nikos Tziritas, Rami Bahsoon
SIGSIM-PADS4
2024 Federated Digital Twins as an Enabling Technology for Collaborative Decision-Making
abstract
Over the last few years, Digital Twin (DT) has emerged as an innovative concept that integrates multiple technologies to mirror physical assets, systems, and processes. Assisted by data analytics, predictive models, and optimisation techniques, DTs are suitable for enhancing operations in virtual space before transferring information into real-world counterparts. Moreover, initiatives considering DTs as part of a composite complex system might consider federated ecosystems for exchanging insights and relevant information. In this context, the Federated Digital Twin (FDT) concept is a potential solution to address interaction among virtual entities, enabling advanced operations and ensuring collaborative decision-making. This study describes a comprehensive FDT framework inspired by principles and methodologies considered by well-studied federated systems. Furthermore, a reference abstract architecture allowing seamless integration among multiple agent-based DTs is provided as a tool to develop a wide range of DT-based applications.
Christian Vergara, Georgios Theodoropoulos 0001, Rami Bahsoon, Wendy Yánez, Nikos Tziritas
SIGSIM-PADS3
2024 Optimizing regression testing with AHP-TOPSIS metric system for effective technical debt evaluation
abstract
Abstract Regression testing is essential to ensure that the actual software product confirms the expected requirements following modification. However, it can be costly and time-consuming. To address this issue, various approaches have been proposed for selecting test cases that provide adequate coverage of the modified software. Nonetheless, problems related to omitting and/or rerunning unnecessary test cases continue to pose challenges, particularly with regard to technical debt (TD) resulting from code coverage shortcomings and/or overtesting. In the case of testing-related shortcomings, incurring TD may result in cost and time savings in the short run, but it can lead to future maintenance and testing expenses. Most prior studies have treated test case selection as a single-objective or two-objective optimization problem. This study introduces a multi-objective decision-making approach to quantify and evaluate TD in regression testing. The proposed approach combines the analytic-hierarchy-process (AHP) method and the technique of order preference by similarity to an ideal solution (TOPSIS) to select the most ideal test cases in terms of objective values defined by the test cost, code coverage, and test risk. This approach effectively manages the software regression testing problems. The AHP method was used to eliminate subjective bias when optimizing objective weights, while the TOPSIS method was employed to evaluate and select test-case alternatives based on TD. The effectiveness of this approach was compared to that of a specific multi-objective optimization method and a standard coverage methodology. Unlike other approaches, our proposed approach always accepts solutions based on balanced decisions by considering modifications and using risk analysis and testing costs against potential technical debt. The results demonstrate that our proposed approach reduces both TD and regression testing efforts.
Anis Zarrad, Rami Bahsoon, Priya Manimaran
Autom. Softw. Eng.2
2024 ACM Transactions on Autonomous and Adaptive Systems (ACM TAAS): Editorial Welcome and Update on State of the Journal, Vision and Ongoing Developments
abstract
Welcome and Introduction: It is my greatest honour to welcome you to ACM Transactions on Autonomous and Adaptive Systems (ACM TAAS).I am honoured and humbled to serve ACM TAAS and the wider community.My sincere gratitude to colleagues and ACM for the vote of confidence.I thank my immediate predecessor, Danny Weyns for the continuous support, smooth transition, and commendable service to ACM TAAS and the wider Software Engineering community.I also pay sincere tribute to Valérie Issarny, who left an immortal stamp for exemplary service, as EiC of ACM TAAS until she sadly left us and passed away in Nov 2022.ACM TAAS board and community will continue to remember and honour Prof Issarny's unique benchmark for service and research excellence, as we embark on another cycle of the journal.I also express my heartful gratitude and thanks to my ACM administrators and colleagues, particularly Yubing Zhai and Arriane Bustillo, for their devotion, professionalism, and continuous support for our day-to-day editorial operations.
Rami Bahsoon
ACM Trans. Auton. Adapt. Syst.1
2024 Equity, Equality, and Need: Digital Twin Approach for Fairness-Aware Task Assignment of Heterogeneous Crowdsourced Logistics
abstract
Industry 5.0 utilizes the Internet of Things (IoT) and autonomous computing to facilitate human–machine collaboration, where humans and machines coexist in a competitive economic ecosystem. In conventional workplaces, fairness is widely recognized as a driving force behind human motivation, loyalty, and productive collaboration. However, current fairness-aware task allocation methods have primarily focused on homogeneous workers, concentrating on either equity or equality as the sole fairness principle. With the rising trend of diverse worker fleets consisting of autonomous robots/vehicles and human-in-the-loop as service providers (e.g., crowdsourced logistics), novel approaches are necessary. Our contribution entails a fairness-aware task allocation approach for heterogeneous workers, leveraging the digital twin to understand the system’s behavior and facilitate real-time adaptation. Our proposed solution considers equity, equality, and need, utilizing the maximum-weight bipartite matching algorithm. Multiple incentive scenarios are utilized to evaluate the potential of the approach. The experimental results suggest that our multi-objective approach yields better overall fairness in various scenarios than the baselines.
Hargyo Tri Nugroho Ignatius, Rami Bahsoon
IEEE Trans. Comput. Soc. Syst.2
2024 Technical Debt Monitoring Decision Making with Skin in the Game
abstract
Technical Debt Management (TDM) can suffer from unpredictability, communication gaps and the inaccessibility of relevant information, which hamper the effectiveness of its decision making. These issues can stem from division among decision-makers which takes root in unfair consequences of decisions among different decision-makers. One mitigation route is Skin in the Game thinking, which enforces transparency, fairness and shared responsibility during collective decision-making under uncertainty. This article illustrates characteristics which require Skin in the Game thinking in Technical Debt (TD) identification, measurement, prioritisation and monitoring. We point out crucial problems in TD monitoring rooted in asymmetric information and asymmetric payoff between different factions of decision-makers. A systematic TD monitoring method is presented to mitigate the said problems. The method leverages Replicator Dynamics and Behavioural Learning. The method supports decision-makers with automated TD monitoring decisions; it informs decision-makers when human interventions are required. Two publicly available industrial projects with a non-trivial number of TD and timestamps are utilised to evaluate the application of our method. Mann–Whitney U hypothesis tests are conducted on samples of decisions from our method and the baseline. The statistical evidence indicates that our method can produce cost-effective and contextual TD monitoring decisions.
Suwichak Fungprasertkul, Rami Bahsoon, Rick Kazman
ACM Trans. Softw. Eng. Methodol.2
2024 ExplanaSC: A Framework for Determining Information Requirements for Explainable Blockchain Smart Contracts
abstract
Blockchain smart contracts (SCs) have emerged as a transformative technology, enabling the automation and execution of contractual agreements without the need for intermediaries. However, as SCs evolve to become more complex in their decentralised decision-making abilities, there are notable difficulties in comprehending the underlying reasoning process and ensuring users’ understanding. The existing literature primarily focuses on the technical aspects of SC, overlooking the exploration of the decision-making process within these systems and the involvement of humans. In this paper, we propose a framework that integrates human-centered design principles by applying Situation Awareness (SA) and goal directed task analysis (GDTA) concepts to determine information requirements necessary to design eXplainable smart contracts (XSC). The framework provides a structured approach for requirements engineers to identify information that can keep users well-informed throughout the decision-making process. The framework considers factors such as the business logic model, data model, and roles and responsibilities model to define specific information requirements that shape SC behaviour and necessitate explanations. To guide the determination of information requirements, the framework categorises SC decision mechanisms into autonomy, governance, processing, and behaviour. The ExplanaSC framework promotes the generation of XSC explanations through three levels aligned with SA: XSC explanation for perception, XSC explanation for comprehension, and XSC explanation for projection. Overall, this framework contributes to the development of XSC systems and lays the foundation for more transparent, and trustworthy decentralized applications. The XSC explanations aims to facilitate user awareness of complex decision-making processes. The evaluation of the framework uses a case to exemplify the working of our framework, its added value and limitations, and consults experts in the field for feedback and refinements.
Hanouf Al Ghanmi, Rami Bahsoon
IEEE Trans. Software Eng.2
2024 Self-Optimizing the Environmental Sustainability of Blockchain-Based Systems
abstract
Blockchain technology has been widely adopted in many areas to provide more dependable and trustworthy systems, including digital infrastructure. However, this technology is acknowledged to pose severe threats to the environment; its wide adoption is believed to be among the significant modern technology contributors to greenhouse gas emissions. The fundamentals of the technology and the inefficiencies of its underlying consensus algorithms (e.g., Proof of Work) are cited among the reasons for these shortcomings. In particular, trust guarantees through consensus are expensive and require excessive computational power, leading to considerable carbon emissions. In this paper, we propose a novel self-adaptive model to optimize the environmental sustainability of blockchain-based systems. It balances the systems' energy consumption and carbon emission without compromising the fundamental properties of blockchain technology. The model continuously monitors a blockchain-based system and adaptively selects miners, considering context changes and user needs. The model dynamically selects a subset of miners to perform sustainable mining processes while ensuring the decentralization and trustworthiness of the system. The aim is to minimize blockchain-based systems' energy consumption and carbon emissions while maximizing their decentralization and trustworthiness. We conduct experiments to evaluate the efficiency and effectiveness of the model. The results show that our model for self-optimizing the environmental sustainability of blockchain-based systems can reduce energy consumption by 55.49% and carbon emissions by 71.25% on average while maintaining desirable levels of decentralization and trustworthiness by more than 96.08% and 75.12%, respectively. Furthermore, these enhancements can be achieved under different operating conditions compared to similar models, including the straightforward use of Proof of Work. Also, we have investigated and discussed the correlation between these objectives and how they are related to the number of miners within the blockchain-based systems.
Akram Alofi, Mahmoud A. Bokhari, Rami Bahsoon, Robert J. Hendley
IEEE Trans. Sustain. Comput.3
2023 An Approach for Dynamic Behavioural Prediction and Fault Injection in Cyber-Physical Systems
abstract
Modern technology integrates Cyber-Physical Systems (CPS), merging computational and physical processes. Ensuring CPS dependability is vital in averting adverse effects on critical applications due to unforeseen behaviour. To fortify CPS resilience, a novel technique for dynamic behavioural prediction and fault injection is introduced. It predicts dynamic CPS behaviour through system modelling under diverse operational scenarios, employing a fault model with diverse fault classes. Unlike the single model tenet, this approach engages multiple expert models to simulate both faultless and faulty behaviours. By adopting this approach, we can inject specialised faults and scale the analysis of the faults together or separately. Injecting faults assesses system reactions and reveals vulnerabilities. Tested on a water tank system, the approach proves effective in behaviour prediction and proactive fault handling, enhancing CPS design for robust, secure, and fault-tolerant systems.
Hayatullahi Bolaji Adeyemo, Rami Bahsoon, Peter Tiño
BDCAT2
2023 Dynamic Blockchain Reconfiguration: Balancing the Trilemma Trade-off Using Digital Twins
abstract
The trilemma trade-off problem between decentralisation, scalability, and security states that in blockchain systems the above properties are negatively correlated. Infrastructure, node configuration, choice of Consensus Protocol, and complexity of the underlying application are cited among the factors that affect the balance of the trade-off. Given that Blockchains are complex, dynamic systems, a dynamic approach to their management and reconfiguration at runtime is deemed necessary to reflect the changes in the state of the infrastructure and application. This work proposes the use of Digital Twins as the means of optimising the trilemma trade-off of blockchain i.e., re-configuring system parameters such as to maximise scalability, decentralisation and security. Specifically, through a bi-directional feedback loop between the system and the digital twin, simulation, what-if analysis and machine learning techniques will be employed for the computation of an optimal configuration given the current system state. Furthermore, a dynamic update mechanism is proposed to allow for blockchain reconfiguration without violating the decentralisation of the system.
Georgios Diamantopoulos, Nikos Tziritas, Rami Bahsoon, Georgios Theodoropoulos 0001
DS-RT3
2023 Federated Digital Twin
abstract
Digital Twin (DT) is a virtual replica of a physical system that is constantly receiving information from different data sources, enhancing its operations and processes through data analytics, predictions and simulations. The development of DTs relies on advancements in cutting-edge technologies namely IoT, Big data, Cloud computing and Artificial Intelligence; and although it was initially conceived in manufacturing, it is currently contributing to the digital transformation of several fields including aeronautics, healthcare, urban planning and agriculture. The existing body of research suggests that it will be expanded in the next few years with the implementation of sophisticated applications, therefore different proposals to achieve collective work between DTs have been investigated. Nevertheless, much research is needed to develop and validate appropriate mechanisms to ensure its successful deployment in complex real-world cases that require collaboration among individual systems. A Federated Digital Twin (FDT) has been identified as a promising solution for this approach, since it allows the interconnection among autonomous DTs in the virtual space, leveraging their advantages and enabling interaction, collaboration and shared learning. Additionally, since a FDT is envisaged as a network of cooperative DTs, cognitive principles can be applied to assist the overall operations through knowledge acquisition and reasoning, leading to an informed and intelligent decision making. This study aims to expand the FDT concept, develop mechanisms for coordination and synchronization based on well-defined FDT goals and connectionism theory. Furthermore, four architectural styles are provided to enable the integration of collaborative DTs within a federated environment, aiming to improve the operations in complex real-world systems.
Christian Vergara, Rami Bahsoon, Georgios Theodoropoulos 0001, Wendy Yánez, Nikos Tziritas
DS-RT2
2023 SymBChainSim: A Novel Simulation Tool for Dynamic and Adaptive Blockchain Management and its Trilemma Tradeoff
abstract
Despite the recent increase in the popularity of blockchain, the technology suffers from the trilemma trade-off between security decentralisation and scalability prohibiting adoption, and limiting the efficiency and effectiveness of the induced system. Addressing the trilemma trade-off calls for dynamic management and configuration of the blockchain system. In particular, choosing an effective and efficient consensus protocol for balancing the trilemma trade-off when inducing the blockchain-based system is acknowledged to be a challenging problem given the dynamic and complex nature of the blockchain environment. DDDAS approaches are particularly suitable for this challenge, and in previous work, the authors presented a novel DDDAS-based blockchain architecture and demonstrated that it offers a promising approach for dynamically adjusting the parameters of a system and optimising for the trade-off. This paper presents a novel simulation tool that can support and satisfy the DDDAS requirements for a dynamically re-configurable blockchain system. The tool supports the simulation and the dynamic switching of consensus protocols, analysing their trilemma trade-off. The simulator design is modular and allows the implementation and analysis of a wide range of consensus protocols and their implementation scenarios, along with the ability for parallelization. The paper also presents a quantitative evaluation of the tool.
Georgios Diamantopoulos, Rami Bahsoon, Nikos Tziritas, Georgios Theodoropoulos 0001
SIGSIM-PADS2
2023 DebtCom: Technical Debt-Aware Service Recomposition in SaaS Cloud
abstract
Given the changing workloads from the tenants, it is not uncommon for a service composition running in the multi-tenant SaaS cloud to encounter under-utilization and over-utilization on the component services. Both cases are undesirable and it is therefore nature to mitigate them by recomposing the services to a newly optimized composition plan once they have been detected. However, this ignores the fact that under-/over-utilization can be merely caused by temporary effects, and thus the advantages may be short-term, which hinders the long-term benefits that could have been created by the original composition plan, while generating unnecessary overhead and disturbance via recomposition. In this article, we proposeDebtCom, a framework that determines whether to trigger recomposition based on the technical debt metaphor and time-series prediction of workload. In particular, we propose a service debt model, which has been explicitly designed for the context of service composition, to quantify the debt. Our core idea is that recomposition can be unnecessary if the under-/over-utilization only cause temporarily negative effects, and the current composition plan, although carries debt, can generate greater benefit in the long-term. We evaluateDebtComon a large scale service system with up to 10 abstract services, each of which has 100 component services, under real-world dataset and workload traces. The results confirm that, in contrast to the state-of-the-art,DebtComachieves better utility while having lower cost and number of recompositions, rendering each composition plan more sustainable.
Tao Chen 0001, Rami Bahsoon, Rajkumar Buyya
IEEE Trans. Serv. Comput.3
2022 Surrogate-based Digital Twin for Predictive Fault Modelling and Testing of Cyber Physical Systems
abstract
Cyber Physical Systems (CPS) pose a pressing need to ensure they are sufficiently reliable and continue to be dependable. It is, therefore, essential to test these systems to uncover any potential anomalies, which if not detected can lead to failure and/or cause loss or injury. Adequate or complete coverage of behaviours can be difficult to accomplish in CPS. We advocate a less expensive and easy-to-evaluate representation of the system via surrogate modelling. In this paper, we present a novel predictive fault modelling framework leveraging surrogate-based Digital Twin for probing for likely faults that can support software analysts and testers of CPS in their testing plans. The approach abstracts the CPS and uses a variant of Recurrent Neural Network known as Long Short-Term Memory (LSTM) surrogate model for forecasting. The forecasting can help in predicting multiple behaviours of the system components and the likely faults of systems under test; observations will consequently feed into the testing plans. Both direct and iterative (i.e. one-time and multiple-time varying steps) forecasting are supported as part of the framework. We evaluate our surrogate-based Digital Twins predictive modelling approach on two CPSs namely: water distribution system and air pollution detection system. The results show that our approach performed decently in predicting multiple time steps.
Hayatullahi Bolaji Adeyemo, Rami Bahsoon, Peter Tiño
BDCAT2
2022 Mining the Limits of Granularity for Microservice Annotations
Francisco Ramírez, Carlos Joseph Mera-Gómez, Rami Bahsoon, Yuqun Zhang
ICSOC3
2022 Semantics-Driven Learning for Microservice Annotations
Francisco Ramírez, Carlos Joseph Mera-Gómez, Shengsen Chen, Rami Bahsoon, Yuqun Zhang
ICSOC4
2022 Duplication Scheduling with Bottom-Up Top-Down Recursive Neural Network
Vahab Samandi, Peter Tiño, Rami Bahsoon
IDEAL3
2022 Service composition in dynamic environments: A systematic review and future directions
Mohammad Reza Razian, Mohammad Fathian, Rami Bahsoon, Adel Nadjaran Toosi, Rajkumar Buyya
J. Syst. Softw.3
2022 HUNTER: AI based holistic resource management for sustainable cloud computing
Shreshth Tuli, Sukhpal Singh, Minxian Xu, Peter Garraghan, Rami Bahsoon, Schahram Dustdar, Rizos Sakellariou, Omer F. Rana, Rajkumar Buyya, Giuliano Casale, Nicholas R. Jennings
J. Syst. Softw.5
2022 Systematic scalability analysis for microservices granularity adaptation design decisions
abstract
Abstract Microservices have gained wide recognition and acceptance in software industries as an emerging architectural style for autonomous, scalable and more reliable computing. A critical problem related to microservices is reasoning about the suitable granularity level of a microservice (i.e., when and how to merge or decompose microservices). Although scalability is pronounced as one of the major factors for adoption of microservices, there is a general gap of approaches that systematically analyse the dimensions and metrics, which are important for scalability‐aware granularity adaptation decisions. To the best of our knowledge, the state‐of‐art in reasoning about microservice granularity adaptation is neither: (1) driven by microservice‐specific scalability dimensions and metrics nor (2) follow systematic scalability analysis to make scalability‐aware adaptation decisions. In this article, we address the aforementioned problems using a two‐fold contribution. Firstly, we contribute to a working catalogue of microservice‐specific scalability dimensions and metrics. Secondly, we describe a novel application of scalability goal‐obstacle analysis for the context of reasoning about microservice granularity adaptation. We analyse both contributions by comparing their usage on a hypothetical microservice architecture against ad‐hoc scalability assessment for the same architecture. This analysis shows how both contributions can aid making scalability‐aware granularity adaptation decisions.
Sara Hassan, Rami Bahsoon, Rajkumar Buyya
Softw. Pract. Exp.2
2022 Market-inspired framework for securing assets in cloud computing environments
abstract
Abstract Self‐adaptive security methods have been extensively leveraged for securing software systems and users from runtime threats in online and elastic environments, such as the cloud. The existing solutions treat security as an aggregated quality by enforcing “one service for all” without considering the explicit security requirements of each asset or the costs associated with security. Dealing with the security of assets in ultra‐large environments calls for rethinking the way we select and compose services—considering not only the services but the underlying supporting computational resources in the process. We motivate the need for an asset‐centric, self‐adaptive security framework that selects and allocates services and underlying resources in the cloud. The solution leverages learning algorithms and market‐inspired approaches to dynamically manage changes in the runtime security goals/requirements of assets with the provision of suitable services and resources, while catering for monetary and computational constraints. The proposed framework aims to inform the self‐adaptive security efforts of security researchers and practitioners operating in dynamic large‐scale environments, such as the Cloud. To illustrate the utility of the proposed framework it is evaluated using simulation on an application based scenario, involving cloud‐based storage and security services.
Giannis Tziakouris, Carlos Joseph Mera-Gómez, Francisco Ramírez, Rami Bahsoon, Rajkumar Buyya
Softw. Pract. Exp.4
2022 A Study on Blockchain Architecture Design Decisions and Their Security Attacks and Threats
abstract
Blockchain is a disruptive technology intended to implement secure decentralised distributed systems, in which transactional data can be shared, stored, and verified by participants of the system without needing a central authentication/verification authority. Blockchain-based systems have several architectural components and variants, which architects can leverage to build secure software systems. However, there is a lack of studies to assist architects in making architecture design and configuration decisions for blockchain-based systems. This knowledge gap may increase the chance of making unsuitable design decisions and producing configurations prone to potential security risks. To address this limitation, we report our comprehensive systematic literature review to derive a taxonomy of commonly used architecture design decisions in blockchain-based systems. We map each of these decisions to potential security attacks and their posed threats. MITRE’s attack tactic categories and Microsoft STRIDE threat modeling are used to systematically classify threats and their associated attacks to identify potential attacks and threats in blockchain-based systems. Our mapping approach aims to guide architects to make justifiable design decisions that will result in more secure implementations.
Sabreen Ahmadjee, Carlos Joseph Mera-Gómez, Rami Bahsoon, Rick Kazman
ACM Trans. Softw. Eng. Methodol.3
2022 Continuous and Proactive Software Architecture Evaluation: An IoT Case
abstract
Design-time evaluation is essential to build the initial software architecture to be deployed. However, experts’ assumptions made at design-time are unlikely to remain true indefinitely in systems that are characterized by scale, hyperconnectivity, dynamism, and uncertainty in operations (e.g. IoT). Therefore, experts’ design-time decisions can be challenged at run-time. A continuous architecture evaluation that systematically assesses and intertwines design-time and run-time decisions is thus necessary. This paper proposes the first proactive approach to continuous architecture evaluation of the system leveraging the support of simulation. The approach evaluates software architectures by not only tracking their performance over time, but also forecasting their likely future performance through machine learning of simulated instances of the architecture. This enables architects to make cost-effective informed decisions on potential changes to the architecture. We perform an IoT case study to show how machine learning on simulated instances of architecture can fundamentally guide the continuous evaluation process and influence the outcome of architecture decisions. A series of experiments is conducted to demonstrate the applicability and effectiveness of the approach. We also provide the architect with recommendations on how to best benefit from the approach through choice of learners and input parameters, grounded on experimentation and evidence.
Dalia Sobhy, Leandro L. Minku, Rami Bahsoon, Rick Kazman
ACM Trans. Softw. Eng. Methodol.3
2022 Managing Technical Debt in Database Normalization
abstract
Database normalization is one of the main principles for designing relational databases, which is the most popular database model, with the objective of improving data and system qualities, such as performance. Refactoring the database for normalization can be costly, if the benefits of the exercise are not justified. Developers often ignore the normalization process due to the time and expertise it requires, introducing technical debt into the system. Technical debt is a metaphor that describes trade-offs between short-term goals and applying optimal design and development practices. We consider database normalization debts are likely to be incurred for tables below the fourth normal form. To manage the debt, we propose a multi-attribute analysis framework that makes a novel use of the Portfolio Theory and the TOPSIS method (Technique for Order of Preference by Similarity to Ideal Solution) to rank the candidate tables for normalization to the fourth normal form. The ranking is based on the tables estimated impact on data quality, performance, maintainability, and cost. The techniques are evaluated using an industrial case study of a database-backed web application for human resource management. The results show that the debt-aware approach can provide an informed justification for the inclusion of critical tables to be normalized, while reducing the effort and cost of normalization.
Mashel Al-Barak, Rami Bahsoon, Ipek Ozkaya, Robert L. Nord
IEEE Trans. Software Eng.2
2022 Optimizing the Energy Consumption of Blockchain-Based Systems Using Evolutionary Algorithms: A New Problem Formulation
abstract
Blockchain technology has gained recognition in industrial, financial, and various technological domains for its potential in decentralizing trust in peer-to-peer systems. A core component of blockchain technology is a consensus algorithm, most commonly Proof of Work (PoW). PoW is used in blockchain-based systems to establish trust among peers; however, it does require the expenditure of an enormous amount of energy that affects the environmental sustainability of blockchain-based systems. Energy minimization, whilst ensuring trust within blockchain-based systems that use PoW, is a challenging problem. The solution has to consider how energy consumption can be minimized without compromising trust, whilst still ensuring, for instance, scalability, security, and decentralization. In this paper, we represent the problem as a subset selection problem of miners in a blockchain-based system. We formulate the problem of blockchain energy consumption as a Search-Based Software Engineering problem with four objectives: energy consumption, carbon emission, decentralization, and trust. We propose a model composed of multiple fitness functions. The model can be used to explore the complex search space by selecting a subset of miners that minimizes the energy consumption without drastically impacting the primary goals of the blockchain technology (i.e., security/trustworthiness and decentralization). We integrate our proposed fitness functions into five evolutionary algorithms to solve the problem of blockchain miners selection. Our results show that the environmental sustainability of blockchain-based systems (e.g. reduced energy use) can be enhanced with little degradation in other competing objectives. We also report on the performance of the algorithms used.
Akram Alofi, Mahmoud A. Bokhari, Rami Bahsoon, Robert J. Hendley
IEEE Trans. Sustain. Comput.3
2021 Assessing Smart Contracts Security Technical Debts
abstract
Smart contracts are self-enforcing agreements that are employed to exchange assets without the approval of trusted third parties. This feature has encouraged various sectors to make use of smart contracts when transacting. Experience shows that many deployed contracts are vulnerable to exploitation due to their poor design, which allows attackers to steal valuable assets from the involved parties. Therefore, an assessment approach that allows developers to recognise the consequences of deploying vulnerable contracts is needed. In this paper, we propose a debt-aware approach for assessing security design vulnerabilities in smart contracts. Our assessment approach involves two main steps: (i) identification of design vulnerabilities using security analysis techniques and (ii) an estimation of the ramifications of the identified vulnerabilities leveraging the technical debt metaphor, its principal and interest. We use examples of vulnerable contracts to demonstrate the applicability of our approach. The results show that our assessment approach increases the visibility of security design issues. It also allows developers to concentrate on resolving smart contract vulnerabilities through technical debt impact analysis and prioritisation. Developers can use our approach to inform the design of more secure contracts and for reducing unintentional debts caused by a lack of awareness of security issues.
Sabreen Ahmadjee, Carlos Joseph Mera-Gómez, Rami Bahsoon
TechDebt@ICSE3
2021 MinerRepu: A Reputation Model for Miners in Blockchain Networks
abstract
Blockchain technology holds several promises for many application areas; however, it is not without its limitations. One of the most significant weaknesses of blockchain technology is its substantial energy consumption. Many researchers have proposed solutions to reduce the energy demands of this technology - such as the use of alternative consensus algorithms and the use of renewable energy. However, the use of alternative trust and reputation models to improve sustainability (by, for instance, selecting miners based on these trust or reputation values) has not been widely investigated. In this paper, we propose a reputation model that quantifies and compares the trustworthiness of miners based on their behaviours within a blockchain network. The model is evaluated analytically and compared to other trust and reputation models for miners. The evaluation shows that our model fulfils several desirable properties that should always be satisfied by reputation models, whereas other models do not always meet these requirements. In addition, we perform experimental evaluations to represent the performance of our model and its accuracy in detecting malicious miners. We also report the effectiveness of using the model in reducing the energy consumption of blockchain-based systems.
Akram Alofi, Rami Bahsoon, Robert J. Hendley
ICWS2
2021 Attaining Meta-self-awareness through Assessment of Quality-of-Knowledge
abstract
Self-awareness is a crucial capability of autonomous service-based systems that enables them to self-adapt. There are different types of self-awareness whereby certain types of knowledge are captured at various levels. We argue that effective management of the trade-offs of dependability requirements can be achieved through “seamless” switching between different levels of awareness. However, the assessment of the quality of knowledge to enable dynamic switching between self-awareness levels has not been tackled yet. We propose a general architecture that exploits symbiotic simulation in order to tackle the complexity of assessing the quality of knowledge and attaining the meta-self-awareness property, wherein the system can reflect on its different levels of awareness. We conduct a thorough real-world study in the context of volunteer services. We conclude that a system made meta-self-aware using our approach achieves optimal performance by activating the most suitable awareness level. This comes at the cost of a modest computational overhead.
Abdessalam Elhabbash, Rami Bahsoon, Peter Tiño, Peter R. Lewis 0001, Yehia El-khatib
ICWS2
2021 Systematic Scalability Modeling of QoS-aware Dynamic Service Composition
abstract
In Dynamic Service Composition (DSC), an application can be dynamically composed using web services to achieve its functional and Quality of Services (QoS) goals. DSC is a relatively mature area of research that crosscuts autonomous and services computing. Complex autonomous and self-adaptive computing paradigms (e.g., multi-tenant cloud services, mobile/smart services, services discovery and composition in intelligent environments such as smart cities) have been leveraging DSC to dynamically and adaptively maintain the desired QoS, cost and to stabilize long-lived software systems. While DSC is fundamentally known to be an NP-hard problem, systematic attempts to analyze its scalability have been limited, if not absent, though such analysis is of a paramount importance for their effective, efficient, and stable operations. This article reports on a new application of goal-modeling, providing a systematic technique that can support DSC designers and architects in identifying DSC-relevant characteristics and metrics that can potentially affect the scalability goals of a system. The article then applies the technique to two different approaches for QoS-aware dynamic services composition, where the article describes two detailed exemplars that exemplify its application. The exemplars hope to provide researchers and practitioners with guidance and transferable knowledge in situations where the scalability analysis may not be straightforward. The contributions provide architects and designers for QoS-aware dynamic service composition with the fundamentals for assessing the scalability of their own solutions, along with goal models and a list of application domain characteristics and metrics that might be relevant to other solutions. Our experience has shown that the technique was able to identify in both exemplars application domain characteristics and metrics that had been overlooked in previous scalability analyses of these DSC, some of which indeed limited their scalability. It has also shown that the experiences and knowledge can be transferable: The first exemplar was used as an example to inform and ease the work of applying the technique in the second one, reducing the time to create the model, even for a non-expert.
Leticia Duboc, Rami Bahsoon, Faisal Alrebeish, Carlos Joseph Mera-Gómez, Vivek Nallur, Rick Kazman, Philip Bianco, Muhammad Ali Babar 0001, Rajkumar Buyya
ACM Trans. Auton. Adapt. Syst.2
2021 Dynamic Evaluation of Microservice Granularity Adaptation
abstract
Microservices have gained acceptance in software industries as an emerging architectural style for autonomic, scalable, and more reliable computing. Among the critical microservice architecture design decisions is when to adapt the granularity of a microservice architecture by merging/decomposing microservices. No existing work investigates the following question: How can we reason about the trade-off between predicted benefits and cost of pursuing microservice granularity adaptation under uncertainty? To address this question, we provide a novel formulation of the decision problem to pursue granularity adaptation as a real options problem. We propose a novel evaluation process for dynamically evaluating granularity adaptation design decisions under uncertainty. Our process is based on a novel combination of real options and the concept of Bayesian surprises. We show the benefits of our evaluation process by comparing it to four representative industrial microservice runtime monitoring tools, which can be used for retrospective evaluation for granularity adaptation decisions. Our comparison shows that our process can supersede and/or complement these tools. We implement a microservice application—Filmflix—using Amazon Web Service Lambda and use this implementation as a case study to show the unique benefit of our process compared to traditional application of real options analysis.
Sara Hassan, Rami Bahsoon, Leandro L. Minku, Nour Ali
ACM Trans. Auton. Adapt. Syst.2
2021 Evaluation of Software Architectures under Uncertainty: A Systematic Literature Review
abstract
Context: Evaluating software architectures in uncertain environments raises new challenges, which require continuous approaches. We define continuous evaluation as multiple evaluations of the software architecture that begins at the early stages of the development and is periodically and repeatedly performed throughout the lifetime of the software system. Numerous approaches have been developed for continuous evaluation; to handle dynamics and uncertainties at run-time, over the past years, these approaches are still very few, limited, and lack maturity. Objective: This review surveys efforts on architecture evaluation and provides a unified terminology and perspective on the subject. Method: We conducted a systematic literature review to identify and analyse architecture evaluation approaches for uncertainty including continuous and non-continuous, covering work published between 1990–2020. We examined each approach and provided a classification framework for this field. We present an analysis of the results and provide insights regarding open challenges. Major results and conclusions: The survey reveals that most of the existing architecture evaluation approaches typically lack an explicit linkage between design-time and run-time. Additionally, there is a general lack of systematic approaches on how continuous architecture evaluation can be realised or conducted. To remedy this lack, we present a set of necessary requirements for continuous evaluation and describe some examples.
Dalia Sobhy, Rami Bahsoon, Leandro L. Minku, Rick Kazman
ACM Trans. Softw. Eng. Methodol.2
2021 Architecting Internet of Things Systems with Blockchain: A Catalog of Tactics
abstract
Blockchain offers a distributed ledger to record data collected from Internet of Thing (IoT) devices as immutable and tamper-proof transactions and securely shared among authorized participants in a Peer-to-Peer (P2P) network. Despite the growing interest in using blockchain for securing IoT systems, there is a general lack of systematic research and comprehensive review of the design issues on the integration of blockchain and IoT from the software architecture perspective. This article presents a catalog of architectural tactics for the design of IoT systems supported by blockchain as a result of a Systematic Literature Review (SLR) on IoT and blockchain to extract the commonly reported quality attributes, design decisions, and relevant architectural tactics for the architectural design of this category of systems. Our findings are threefold:<?brk?> (i) identification of security, scalability, performance, and interoperability as the commonly reported quality attributes; (ii) a catalog of twelve architectural tactics for the design of IoT systems supported by blockchain; and (iii) gaps in research that include tradeoffs among quality attributes and identified tactics. These tactics might provide architects and designers with different options when searching for an optimal architectural design that meets the quality attributes of interest and constraints of a system.
Wendy Yánez, Rami Bahsoon, Yuqun Zhang, Rick Kazman
ACM Trans. Softw. Eng. Methodol.2
2021 Stability in Software Engineering: Survey of the State-of-the-Art and Research Directions
abstract
With the increasing dependence on software systems, their longevity is becoming a pressing need. Stability is envisioned as a primary property to achieve longevity. Stability has been defined and treated in many different ways in the literature. We conduct a systematic literature review to analyse the state-of-the-art related to stability as a software property. We formulate a taxonomy for characterising the notion, analyse the definitions found in the literature, and present research studies dealing with stability. Also, as architecture is one of the software artefacts with profound effects throughout the software lifecycle, we focus on software engineering practices for realising architectural stability. The analysis results show a wide variation in dimensions when dealing with stability. The state-of-the-art indicates the need for a shift towards a multi-dimensional concept that could cope with runtime dynamics and emerging software paradigms. More research efforts should be directed toward the identified gaps. The presented taxonomy and analysis of the literature aim to help the research community in consolidating the existing research efforts and deriving future developments.
Maria Salama, Rami Bahsoon, Patricia Lago
IEEE Trans. Software Eng.2
2020 Towards Engineering Cognitive Digital Twins with Self-Awareness
abstract
There has been a recent explosion of interest in digital twins, namely data driven virtual replicas that can provide insights about a physical system and support decision making. This paper deals with cognitive digital twins, namely twins that can exhibit a high level of intelligence that can replicate human cognitive processes and execute conscious actions autonomously. The paper brings together the concepts of digital twins and self-awareness and discusses how the different levels of self-awareness can be harnessed for the design of cognitive-digital twins. A discussion of digital twins in relation to the Dynamic Data Driven Application Systems (DDDAS) paradigm and a classification of digital twins based on their analytics capability are also provided.
Nan Zhang 0027, Rami Bahsoon, Georgios Theodoropoulos 0001
SMC2
2020 Data Allocation Mechanism for Internet-of-Things Systems With Blockchain
abstract
The use of Internet of Things (IoT) has introduced genuine concerns regarding data security and its privacy when data are in collection, exchange, and use. Meanwhile, blockchain offers a distributed and encrypted ledger designed to allow the creation of immutable and tamper-proof records of data at different locations. While blockchain may enhance IoT with innate security, data integrity, and autonomous governance, IoT data management and its allocation in blockchain still remain an architectural concern. In this article, we propose a novel context-aware mechanism for on-chain data allocation in IoT-blockchain systems. Specifically, we design a data controller based on fuzzy logic to calculate the Rating of Allocation (RoA) value of each data request considering multiple context parameters, i.e., data, network, and quality and decide its on-chain allocation. Furthermore, we illustrate how the design and realization of the mechanism lead to refinements of two commonly used IoT-blockchain architectural styles (i.e., blockchain-based cloud and fog). To demonstrate the effectiveness of our approach, we instantiate the data allocation mechanism in the blockchain-based cloud and fog architectures and evaluate their performance using FogBus. We also compare the efficacy of our approach to the existing decision-making mechanisms through the deployment of a real-world healthcare application. The experimental results suggest that the realization of the data allocation mechanism improves network usage, latency, and blockchain storage and reduces energy consumption.
Wendy Yánez, Md. Redowan Mahmud, Rami Bahsoon, Yuqun Zhang, Rajkumar Buyya
IEEE Internet Things J.3
2020 ThermoSim: Deep learning based framework for modeling and simulation of thermal-aware resource management for cloud computing environments
Sukhpal Singh, Shreshth Tuli, Adel Nadjaran Toosi, Félix Cuadrado, Peter Garraghan, Rami Bahsoon, Hanan Lutfiyya, Rizos Sakellariou, Omer F. Rana, Schahram Dustdar, Rajkumar Buyya
J. Syst. Softw.6
2020 Run-time evaluation of architectures: A case study of diversification in IoT
Dalia Sobhy, Leandro L. Minku, Rami Bahsoon, Tao Chen 0001, Rick Kazman
J. Syst. Softw.3
2020 Synergizing Domain Expertise With Self-Awareness in Software Systems: A Patternized Architecture Guideline
abstract
To promote engineering self-aware and self-adaptive software systems in a reusable manner, architectural patterns and the related methodology provide an unified solution to handle the recurring problems in the engineering process. However, in existing patterns and methods, domain knowledge and engineers’ expertise that is built over time are not explicitly linked to the self-aware processes. This link is important, as knowledge is a valuable asset for the related problems and its absence would cause unnecessary overhead, possibly misleading results, and unwise waste of the tremendous benefits that could have been brought by the domain expertise. This article highlights the importance of synergizing domain expertise and the self-awareness to enable better self-adaptation in software systems, relying on well-defined expertise representation, algorithms, and techniques. In particular, we present a holistic framework of notions, enriched patterns and methodology, dubbed DBASES, that offers a principled guideline for the engineers to perform difficulty and benefit analysis on possible synergies, in an attempt to keep “engineers-in-the-loop.” Through three tutorial case studies, we demonstrate how DBASES can be applied in different domains, within which a carefully selected set of candidates with different synergies can be used for quantitative investigation, providing more informed decisions of the design choices.
Tao Chen 0001, Rami Bahsoon, Xin Yao 0001
Proc. IEEE2
2020 Microservice transition and its granularity problem: A systematic mapping study
abstract
Summary Microservices have gained wide recognition and acceptance in software industries as an emerging architectural style for autonomic, scalable, and more reliable computing. The transition to microservices has been highly motivated by the need for better alignment of technical design decisions with improving value potentials of architectures. Despite microservices' popularity, research still lacks disciplined understanding of transition and consensus on the principles and activities underlying that transition. In this paper, we report on a systematic mapping study that consolidates various views, approaches and activities that commonly assist in the transition to microservices. The study aims to provide a better understanding of the transition; it also contributes a working definition of the transition and technical activities underlying it. We term the transition and technical activities leading to microservice architectures as microservitization. We then shed light on a fundamental problem of microservitization: microservice granularity and reasoning about its adaptation as first‐class entities. This study reviews state‐of‐the‐art and ‐practice related to reasoning about microservice granularity; it reviews modeling approaches, aspects considered, guidelines and processes used to reason about microservice granularity. This study identifies opportunities for future research and development related to reasoning about microservice granularity.
Sara Hassan, Rami Bahsoon, Rick Kazman
Softw. Pract. Exp.2
2019 Identifying and Estimating Technical Debt for Service Composition in SaaS Cloud
abstract
A composite service in multi-tenant SaaS cloud would inevitably operate under dynamic changes on the workload from the tenants, and thus it is not uncommon for the composition to encounter under-utilization and over-utilization on the component services. However, both of those cases could be good or bad: the former implies that although there is under-utilization, the pay-off afterwards are more significant; the latter, in contrast, refers to the over-utilization that leads to trivial pay-off, or nothing at all. Such a notion perfectly matches with the Technical Debt (TD) metaphor in Software Engineering. As a result, it is necessary to identify the root causes of the debts and where the debt can be manifested in the service composition, which, in turn, would offer great helps on the decision making process of service composition. In this paper, we propose a novel approach for identifying the technical debt in service composition under SaaS cloud. The approach combines time series forecasting and a newly proposed technical debt model to estimate the future debt and utility in the service composition. Through a real world case study, we demonstrate that our approach can successfully identify both the good and bad debts, while producing satisfactory accuracy on estimating the technical debt in the service composition under SaaS cloud.
Rami Bahsoon, Tao Chen 0001, Rajkumar Buyya
ICWS2
2019 Self-awareness in Software Engineering: A Systematic Literature Review
abstract
Background : Self-awareness has been recently receiving attention in computing systems for enriching autonomous software systems operating in dynamic environments. Objective : We aim to investigate the adoption of computational self-awareness concepts in autonomic software systems and motivate future research directions on self-awareness and related problems. Method : We conducted a systemic literature review to compile the studies related to the adoption of self-awareness in software engineering and explore how self-awareness is engineered and incorporated in software systems. From 865 studies, 74 studies have been selected as primary studies. We have analysed the studies from multiple perspectives, such as motivation, inspiration, and engineering approaches, among others. Results : Results have shown that self-awareness has been used to enable self-adaptation in systems that exhibit uncertain and dynamic behaviour. Though there have been recent attempts to define and engineer self-awareness in software engineering, there is no consensus on the definition of self-awareness. Also, the distinction between self-aware and self-adaptive systems has not been systematically treated. Conclusions : Our survey reveals that self-awareness for software systems is still a formative field and that there is growing attention to incorporate self-awareness for better reasoning about the adaptation decision in autonomic systems. Many pending issues and open problems outline possible research directions.
Abdessalam Elhabbash, Maria Salama, Rami Bahsoon, Peter Tiño
ACM Trans. Auton. Adapt. Syst.3
2018 Identifying Technical Debt in Database Normalization Using Association Rule Mining
abstract
In previous work, we explored a new context of technical debt that relates to database normalization design decisions. We claimed that database normalization debts are likely to be incurred for tables below the fourth normal form. We proposed a method to prioritize the tables that should be normalized based on their impact on data quality and performance. In this study, we propose a framework to identify normalization debt items (i.e. tables below the fourth normal form) by mining the data stored in each table. Our framework makes use of association rule mining to discover functional dependencies between attributes in a table, which will help determine the current normal form of that table and reveal debt tables. To illustrate our method, we use a case study from Microsoft, AdventureWorks database. The results revealed the applicability of our framework to identify debt tables.
Mashel Al-Barak, Muna S. Al-Razgan, Rami Bahsoon
SEAA3
2018 Multi-Tenant Cloud Service Composition Using Evolutionary Optimization
abstract
In Software as a Service (SaaS)cloud marketplace, several functionally equivalent services tend to be available with different Quality of Service (QoS)values. For processing end-users multi-dimensional QoS and functional requirements, the application engineers are required to choose suitable services and optimize the service composition plans for each category of users. However, existing approaches for dynamic services composition tend to support execution plans that search for service provisions of equivalent functionalities with varying QoS or cost constraints to meet the tenants' QoS requirements or to dynamically respond to changes in QoS. These approaches tend to ignore the fact that multi-tenant execution plans need to provide variant execution plans, each offering a customized plan for a given tenant with its functionality, QoS and cost requirements. Henceforth, the dynamic selection and composition of multi-tenant service composition is a NP-hard dynamic multiobjective optimization problem. To address these challenges, we propose a novel multi-tenant middleware for dynamic service composition in the SaaS cloud. In particular, we present new encoding representation and fitness functions that model the service selection and composition as an evolutionary search. We incorporate our approach with two Multi-Objective Evolutionary Algorithms (MOEA), i.e., MOEA/D-STM and NSGA-II, to perform a comparative study. The experiment results show that the MOEA/D-STM outperforms NSGA-II in terms of quality of solutions and computation time.
Rami Bahsoon, Tao Chen 0001, Ke Li 0001, Rajkumar Buyya
ICPADS2
2018 Prioritizing technical debt in database normalization using portfolio theory and data quality metrics
abstract
Database normalization is the one of main principles for designing relational databases. The benefits of normalization can be observed through improving data quality and performance, among the other qualities. We explore a new context of technical debt manifestation, which is linked to ill-normalized databases. This debt can have long-term impact causing systematic degradation of database qualities. Such degradation can be liken to accumulated interest on a debt. We claim that debts are likely to materialize for tables below the fourth normal form. Practically, achieving fourth normal form for all the tables in the database is a costly and idealistic exercise. Therefore, we propose a pragmatic approach to prioritize tables that should be normalized to the fourth normal form based on the metaphoric debt and interest of the ill-normalized tables, observed on data quality and performance. For data quality, tables are prioritized using the risk of data inconsistency metric. Unlike data quality, a suitable metric to estimate the impact of weakly or un-normalized tables on performance is not available. We estimate performance degradation and its costs using Input/Output (I/O) cost of the operations performed on the tables and we propose a model to estimate this cost for each table. We make use of Modern Portfolio Theory to prioritize tables that should be normalized based on the estimated I/O cost and the likely risk of cost accumulation in the future. To evaluate our methods, we use a case study from Microsoft, AdventureWorks. The results show that our methods can be effective in reducing normalization debt and improving the quality of the database.
Mashel Al-Barak, Rami Bahsoon
TechDebt@ICSE2
2018 To Adapt or Not to Adapt?: Technical Debt and Learning Driven Self-Adaptation for Managing Runtime Performance
abstract
Self-adaptive system (SAS) can adapt itself to optimize various key performance indicators in response to the dynamics and uncertainty in environment. In this paper, we present Debt Learning Driven Adaptation (DLDA), an framework that dynamically determines when and whether to adapt the SAS at runtime. DLDA leverages the temporal adaptation debt, a notion derived from the technical debt metaphor, to quantify the time-varying money that the SAS carries in relation to its performance and Service Level Agreements. We designed a temporal net debt driven labeling to label whether it is economically healthier to adapt the SAS (or not) in a circumstance, based on which an online machine learning classifier learns the correlation, and then predicts whether to adapt under the future circumstances. We conducted comprehensive experiments to evaluate DLDA with two different planners, using 5 online machine learning classifiers, and in comparison to 4 state-of-the-art debt-oblivious triggering approaches. The results reveal the effectiveness and superiority of DLDA according to different metrics.
Tao Chen 0001, Rami Bahsoon, Shuo Wang 0005, Xin Yao 0001
ICPE2
2018 Performance modelling and verification of cloud-based auto-scaling policies
Alexandros Evangelidis, David Parker 0001, Rami Bahsoon
Future Gener. Comput. Syst.3
2018 FEMOSAA: Feature-Guided and Knee-Driven Multi-Objective Optimization for Self-Adaptive Software
abstract
Self-Adaptive Software (SAS) can reconfigure itself to adapt to the changing environment at runtime, aiming to continually optimize conflicted nonfunctional objectives (e.g., response time, energy consumption, throughput, cost, etc.). In this article, we present Feature-guided and knEe-driven Multi-Objective optimization for Self-Adaptive softwAre (FEMOSAA), a novel framework that automatically synergizes the feature model and Multi-Objective Evolutionary Algorithm (MOEA) to optimize SAS at runtime. FEMOSAA operates in two phases: at design time, FEMOSAA automatically transposes the engineers’ design of SAS, expressed as a feature model, to fit the MOEA, creating new chromosome representation and reproduction operators. At runtime, FEMOSAA utilizes the feature model as domain knowledge to guide the search and further extend the MOEA, providing a larger chance for finding better solutions. In addition, we have designed a new method to search for the knee solutions, which can achieve a balanced tradeoff. We comprehensively evaluated FEMOSAA on two running SAS: One is a highly complex SAS with various adaptable real-world software under the realistic workload trace; another is a service-oriented SAS that can be dynamically composed from services. In particular, we compared the effectiveness and overhead of FEMOSAA against four of its variants and three other search-based frameworks for SAS under various scenarios, including three commonly applied MOEAs, two workload patterns, and diverse conflicting quality objectives. The results reveal the effectiveness of FEMOSAA and its superiority over the others with high statistical significance and nontrivial effect sizes.
Tao Chen 0001, Ke Li 0001, Rami Bahsoon, Xin Yao 0001
ACM Trans. Softw. Eng. Methodol.3
2017 Performance Modelling and Verification of Cloud-based Auto-Scaling Policies
abstract
Auto-scaling, a key property of cloud computing, allows application owners to acquire and release resources on demand. However, the shared environment, along with the exponentially large configuration space of available parameters, makes configuration of auto-scaling policies a challenging task. In particular, it is difficult to quantify, a priori, the impact of a policy on Quality of Service (QoS) provision. To address this problem, we propose a novel approach based on performance modelling and formal verification to produce performance guarantees on particular rule-based auto-scaling policies. We demonstrate the usefulness and efficiency of our model through a detailed validation process on the Amazon EC2 cloud, using two types of load patterns. Our experimental results show that it can be very effective in helping a cloud application owner configure an auto-scaling policy in order to minimise the QoS violations.
Alexandros Evangelidis, David Parker 0001, Rami Bahsoon
CCGrid3
2017 Microservice Ambients: An Architectural Meta-Modelling Approach for Microservice Granularity
abstract
Isolating fine-grained business functionalities byboundaries into entities called microservices is a core activityunderlying microservitization. We define microservitization asthe paradigm shift towards microservices. Determining theoptimal microservice boundaries (i.e. microservice granularity) is among the key microservitization design decisions thatinfluence the Quality of Service (QoS) of the microservice applicationat runtime. In this paper, we provide an architecturecentricapproach to model this decision problem. We build onambients - a modelling approach that can explicitly capturefunctional boundaries and their adaptation. We extend the aspect-oriented architectural meta-modelling approach of ambients-AMBIENT-PRISMA - with microservice ambients. A microservice ambient is a modelling concept that treatsmicroservice boundaries as an adaptable first-class entity. Weuse a hypothetical online movie subscription-based systemto capture a microservitization scenario using our aspectorientedmodelling approach. The results show the ability ofmicroservice ambients to express the functional boundary of amicroservice, the concerns of each boundary, the relationshipsacross boundaries and the adaptations of these boundaries. Additionally, we evaluate the expressiveness and effectivenessof microservice ambients using criteria from ArchitectureDescription Language (ADL) classification frameworkssince microservice ambients essentially support architecturedescription for microservices. The evaluation focuses on thefundamental modelling constructs of microservice ambientsand how they support microservitization properties such asutility-driven design, tool heterogeneity and decentralised governance. The evaluation highlights how microservice ambientssupport analysis, evolution and mobility/location awarenesswhich are significant to quality-driven microservice granularityadaptation. The evaluation is general and irrespective of theparticular application domain and the business competenciesin that domain.
Sara Hassan, Nour Ali, Rami Bahsoon
ICSA3
2017 A Market-Based Approach for Detecting Malware in the Cloud via Introspection
Nada Alruhaily, Carlos Joseph Mera-Gómez, Tom Chothia, Rami Bahsoon
ICSOC4
2017 A Debt-Aware Learning Approach for Resource Adaptations in Cloud Elasticity Management
Carlos Joseph Mera-Gómez, Francisco Ramírez, Rami Bahsoon, Rajkumar Buyya
ICSOC3
2017 Self-Awareness for Dynamic Knowledge Management in Self-Adaptive Volunteer Services
abstract
Engineering volunteer services calls for novel self-adaptive approaches for dynamically managing the process of selecting volunteer services. As these services tend to be published and withdrawn without restrictions, uncertainties, dynamisms and 'dilution of control' related to the decisions of selection and composition are complex problems. These services tend to exhibit periodic performance patterns, which are often repeated over a certain time period. Consequently, the awareness of such periodic patterns enables the prediction of the services performance leading to better adaptation. In this paper, we contribute to a self-adaptive approach, namely time-awareness, which combines self-aware principles with dynamic histograms to dynamically manage the periodic trends of services performance and their evolution trends. Such knowledge can inform the adaptation decisions, leading to increase in the precision of selecting and composing services. We evaluate the approach using a volunteer storage composition scenario. The evaluation results show the advantages of dynamic knowledge management in self-adaptive volunteer computing in selecting dependable services and satisfying higher number of requests.
Abdessalam Elhabbash, Rami Bahsoon, Peter Tiño
ICWS2
2017 Analysing and modelling runtime architectural stability for self-adaptive software
Maria Salama, Rami Bahsoon
J. Syst. Softw.2
2017 Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services
abstract
Elasticity in the cloud is often achieved by on-demand autoscaling. In such context, the goal is to optimize the Quality of Service (QoS) and cost objectives for the cloud-based services. However, the difficulty lies in the facts that these objectives, e.g., throughput and cost, can be naturally conflicted; and the QoS of cloud-based services often interfere due to the shared infrastructure in cloud. Consequently, dynamic and effective trade-off decision making of autoscaling in the cloud is necessary, yet challenging. In particular, it is even harder to achieve well-compromised trade-offs, where the decision largely improves the majority of the objectives; while causing relatively small degradations to others. In this paper, we present a self-adaptive decision making approach for autoscaling in the cloud. It is capable to adaptively produce autoscaling decisions that lead to well-compromised trade-offs without heavy human intervention. We leverage on ant colony inspired multi-objective optimization for searching and optimizing the trade-offs decisions, the result is then filtered by compromise-dominance, a mechanism that extracts the decisions with balanced improvements in the trade-offs. We experimentally compare our approach to four state-of-the-arts autoscaling approaches: rule, heuristic, randomized and multi-objective genetic algorithm based solutions. The results reveal the effectiveness of our approach over the others, including better quality of trade-offs and significantly smaller violation of the requirements.
Tao Chen 0001, Rami Bahsoon
IEEE Trans. Serv. Comput.2
2017 Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services
abstract
In the presence of scale, dynamism, uncertainty and elasticity, cloud software engineers faces several challenges when modeling Quality of Service (QoS) for cloud-based software services. These challenges can be best managed through self-adaptivity because engineers' intervention is difficult, if not impossible, given the dynamic and uncertain QoS sensitivity to the environment and control knobs in the cloud. This is especially true for the shared infrastructure of cloud, where unexpected interference can be caused by co-located software services running on the same virtual machine; and co-hosted virtual machines within the same physical machine. In this paper, we describe the related challenges and present a fully dynamic, self-adaptive and online QoS modeling approach, which grounds on sound information theory and machine learning algorithms, to create QoS model that is capable to predict the QoS value as output over time by using the information on environmental conditions, control knobs and interference as inputs. In particular, we report on in-depth analysis on the correlations of selected inputs to the accuracy of QoS model in cloud. To dynamically selects inputs to the models at runtime and tune accuracy, we design self-adaptive hybrid dual-learners that partition the possible inputs space into two sub-spaces, each of which applies different symmetric uncertainty based selection techniques; the results of sub-spaces are then combined. Subsequently, we propose the use of adaptive multi-learners for building the model. These learners simultaneously allow several learning algorithms to model the QoS function, permitting the capability for dynamically selecting the best model for prediction on the fly. We experimentally evaluate our models in the cloud environment using RUBiS benchmark and realistic FIFA 98 workload. The results show that our approach is more accurate and effective than state-of-the-art modelings.
Tao Chen 0001, Rami Bahsoon
IEEE Trans. Software Eng.2
2016 Self-Adaptive Resource Management System in IaaS Clouds
abstract
Resource management in cloud infrastructures is one of the most challenging problems due to the heterogeneity of resources, variability of the workload and scale of data centers. Efficient management of physical and virtual resources can be achieved considering performance requirements of hosted applications and infrastructure costs. In this paper, we present a self-adaptive resource management system based on a hierarchical multi-agent based architecture. The system uses novel adaptive utilization threshold mechanism and benefits from reinforcement learning technique to dynamically adjust CPU and memory thresholds for each Physical Machine (PM). It periodically runs a Virtual Machine (VM) placement optimization algorithm to keep the total resource utilization of each PM within given thresholds for improving Service Level Agreement (SLA) compliance. More-over, the algorithm consolidates VMs into the minimum number of active PMs in order to reduce the energy consumption. Experimental results on real workload traces show that our recourse management system can provide substantial improvement over other approaches in terms of performance requirements, energy consumption and the number of VM migrations.
Fahimeh Farahnakian, Rami Bahsoon, Pasi Liljeberg, Tapio Pahikkala
CLOUD2
2016 Dynamic Modelling of Tactics Impact on the Stability of Self-Aware Cloud Architectures
abstract
Given the elasticity, on-demand nature, and runtime dynamics of the cloud, a stable self-adaptive architecture should keep the fulfilment of Quality of Service objectives stable, while performing stable adaptations that converge towards these objectives. The dynamic management and selection of architectural tactics, as adaptation mechanisms, shall be in the heart of the adaptation process, as being essential for effective and stable adaptations. This calls for measuring the impact of tactics on the stability of inter-related quality attributes during run-time. In this paper, we introduce a Markovian-based analytical model for dynamically assessing the impact of tactics on the stability behaviour of self-adaptive cloud architectures. The model also employs self-awareness capabilities for betterinforming the selection of optimal tactics configurations leading to stability. Experimental evaluations have shown the accuracy and efficiency of the model in measuring and predicting the impact of tactics on stabilising the Quality of Service provision and the adaptation process.
Maria Salama, Shawish Ahmed, Rami Bahsoon
CLOUD3
2016 Thwarting Market Specific Attacks in Cloud
abstract
Market oriented methodologies have been extensively used for solving dynamic allocation problems in online systems including the Cloud. Despite their extensive use, very little has been known about their security against market specific security threats (e.g. monopoly, shill bidding, etc.). This work follows an experimental driven approach for: (i) promoting the development of threat-aware, market-oriented Clouds, (ii) exposing existing market specific security vulnerabilities and (iii) developing security mechanisms for online markets. We show that the designs of existing market-oriented Clouds are limited when facing market specific attacks and when thwarting malicious bidders and sellers from manipulating auction mechanisms for personal gains. Furthermore, we show that our solutions can effectively resolve market specific attacks and secure bidders, sellers and auctioning mechanisms in the context of Cloud.
Giannis Tziakouris, Rami Bahsoon, Tom Chothia, Rajkumar Buyya
CLOUD2
2016 Diversifying Software Architecture for Sustainability: A Value-Based Perspective
Dalia Sobhy, Rami Bahsoon, Leandro L. Minku, Rick Kazman
ECSA2
2016 The IEEE Services Track on Software Engineering for/in the Cloud
abstract
The goal of this track is to strengthen the crossfertilization of advances from software engineering, services and cloud computing. The workshop aims at exploring, debating and increasing our understanding to the following: (i) how advances in software engineering, with emphasis on engineering requirements software architectures, architecting dependable systems, self-adaptive software architectures, economics-driven software engineering, utility computing, risk management, security software engineering and testing, Search-based software engineering can (not) benefit the case of cloud; (ii) what are the most recent innovations, trends, experiences and concerns in the field that appraise the paradigm-shift in engineering software systems as cloud services or in support of cloud infrastructures; (iii) What are the open research challenges and promising directions for software engineering FOR the cloud? And how cloud is likely to shape the research landscape of software engineering for at least the next decade? (iv) How the paradigm will shape the future of engineering software IN the cloud, i.e. benefiting from the cloud infrastructure, virtualization and economies of scale? The track aims to bridge the gap between software engineering, services, business and cloud computing communities by specifically addressing the challenges for software engineering FOR and IN the cloud. The track extends our scientific query for probing an answer for the above through successive workshops on the Future of Software engineering IN and FOR the Cloud in conjunction with IEEE Cloud, IEE ICWS, and IEEE SCC in conjunction with IEEE Congress on Services, the flagship conference on cloud and service computing.
Rami Bahsoon, Nour Ali, Ivan Mistrík, T. S. Mohan
SERVICES1
2016 Dynamic Software Project Scheduling through a Proactive-Rescheduling Method
abstract
Software project scheduling in dynamic and uncertain environments is of significant importance to real-world software development. Yet most studies schedule software projects by considering static and deterministic scenarios only, which may cause performance deterioration or even infeasibility when facing disruptions. In order to capture more dynamic features of software project scheduling than the previous work, this paper formulates the project scheduling problem by considering uncertainties and dynamic events that often occur during software project development, and constructs a mathematical model for the resulting multi-objective dynamic project scheduling problem (MODPSP), where the four objectives of project cost, duration, robustness and stability are considered simultaneously under a variety of practical constraints. In order to solve MODPSP appropriately, a multi-objective evolutionary algorithm based proactive-rescheduling method is proposed, which generates a robust schedule predictively and adapts the previous schedule in response to critical dynamic events during the project execution. Extensive experimental results on 21 problem instances, including three instances derived from real-world software projects, show that our novel method is very effective. By introducing the robustness and stability objectives, and incorporating the dynamic optimization strategies specifically designed for MODPSP, our proactive-rescheduling method achieves a very good overall performance in a dynamic environment.
Xiao-Ning Shen, Leandro L. Minku, Rami Bahsoon, Xin Yao 0001
IEEE Trans. Software Eng.3
2015 Quality-Driven Architectural Patterns for Self-Aware Cloud-Based Software
abstract
Architecture-based self-adaptation has been recognised as one of the prominent ways to design autonomic systems, where self-manageable architectures tend to achieve the required level of dynamicity and compliance with the continual changing in QoS requirements during run-time. Self-awareness and self-expression have recently emerged as promising architectural concepts in the field of self-adaptive software. Self-aware architecture patterns are envisioned as enabler for self-adaptation, but they tend to provide limited support for the QoS run-time requirements. While the research community has developed in architecture quality management, patterns and tactics, addressing quality attributes in self-aware architectures has not been tackled yet. In this paper, we aim to provide quality-driven architectural patterns for emerging class of architecture enabled by the principles of self-awareness. We report on the feasibility of correlating QoS tactics with self-aware capabilities to better respond to QoS run-time requirements and trade-offs. We describe novel extensions which make the correlation between QoS tactics and self-awareness explicit. We quantitatively evaluate the feasibility, generality and fitness of the proposed approach, as well as its potential applicability to self-aware architectures. Though the proposed extensions can potentially benefit architectures which leverage on self-awareness, we use the case of cloud auto-scaling architecture.
Maria Salama, Rami Bahsoon
CLOUD2
2015 Stabilising Performance in Cloud Services Composition Using Portfolio Theory
abstract
The increasing number of services available in the cloud market make them plausible and attractive for building Cloud Service Compositions (CSC). However, performance instability is common in the cloud environment due to changes in supply and demand of shared computational infrastructure and resources. Candidate compositions are vulnerable to such instability. We propose a novel approach to improve performance stability by leveraging on the principles of design diversity in service composition(s). The approach uses portfolio theory to construct a diversified composition of candidate services that share lowest possible correlation for their performances. We use an exemplar to illustrate the applicability of the approach. Controlled experiments are used to test the approach effectiveness in improving the performance stability of CSC. While the scalability of our approach is evaluated, we report on its sensitivity and effectiveness under multiple correlation settings.
Faisal Alrebeish, Rami Bahsoon
ICWS2
2015 Self-Adaptive Volunteered Services Composition through Stimulus- and Time-Awareness
abstract
Volunteered Service Composition (VSC) refers to the process of composing volunteered services and resources. These services are typically published to a pool of voluntary resources. Selection and composition decisions tend to encounter numerous uncertainties: service consumers and applications have little control of these services and tend to be uncertain about their level of support for the desired functionalities and non-functionalities. In this paper, we contribute to a self-awareness framework that implements two levels of awareness, Stimulus-awareness and Time-awareness. The former responds to basic changes in the environment while the latter takes into consideration the historical performance of the services. We have used volunteer service computing as an example to demonstrate the benefits that self-awareness can introduce to self-adaptation. We have compared the Stimulus- and Time-awareness approaches with a recent Ranking approach from the literature. The results show that the Time-awareness level has the advantage of satisfying higher number of requests with lower time cost.
Abdessalam Elhabbash, Rami Bahsoon, Peter Tiño, Peter R. Lewis 0001
ICWS2
2015 The Visionary Track on Engineering Mobile Service Oriented Systems
abstract
The IEEE Engineering Mobile Service Oriented Systems (EMSOS) Workshop aims to bring together researchers from academia and industry, as well as practitioners in the area of engineering services in mobile environments in order to provide a forum where recent research results can be presented and discussed. The objective is to understand open issues in the software engineering area of services applied in mobile environments, and to build a community of researchers and practitioners willing to collaborate on these issues.
Nour Ali, Rami Bahsoon, Ian Gorton
SERVICES2
2015 The IEEE Services Visionary Track on the Future of Software Engineering for/in the Cloud
abstract
The goal of this track is to strengthen the cross-fertilization of advances from software engineering, services and cloud computing. The workshop aims at exploring, debating and increasing our understanding to the following: (i) how advances in software engineering, with emphasis on engineering requirements software architectures, architecting dependable systems, self-adaptive software architectures, economics-driven software engineering, utility computing, risk management, security software engineering and testing, Search-based software engineering can (not) benefit the case of cloud, (ii) what are the most recent innovations, trends, experiences and concerns in the field that appraise the paradigm-shift in engineering software systems as cloud services or in support of cloud infrastructures, (iii) What are the open research challenges and promising directions for software engineering FOR the cloud? And how cloud is likely to shape the research landscape of software engineering for at least the next decade? (iv) How the paradigm will shape the future of engineering software IN the cloud, i.e. Benefiting from the cloud infrastructure, virtualization and economies of scale?
Rami Bahsoon, Nour Ali, Ivan Mistrík, T. S. Mohan
SERVICES1
2015 Implementing Design Diversity Using Portfolio Thinking to Dynamically and Adaptively Manage the Allocation of Web Services in the Cloud
abstract
We view the cloud as a marketplace for trading instances of web services, which can be “leased” by web applications. We argue that applications can “buy” diversity by selecting instances of web services from multiple cloud sellers in this market. By diversifying the selection and allocation of web service instances, an application can potentially improve its dependability and reduce risks associated with service level agreement (SLA) violations. We propose a novel, dynamic and adaptive approach for implementing design diversity in the cloud market. The approach uses portfolio theory to construct a diversified portfolio of web service instances, which are traded from multiple cloud providers. We illustrate the applicability of the approach. Controlled experiments are also used to (i) test the approach effectiveness in minimizing the risk of SLA violation; (ii) simulate the dynamic and adaptive behaviour of the approach in responding to changes in the market conditions and risk; (iii) evaluate the sensitivity of the allocation decisions to risk and its correlation with other candidates and (iv) evaluate the scalability of the approach and its ramifications on risk reduction under extreme scenarios.
Faisal Alrebeish, Rami Bahsoon
IEEE Trans. Cloud Comput.2
2014 Requirements-Driven Social Adaptation: Expert Survey
Malik Almaliki, Funmilade Faniyi, Rami Bahsoon, Keith Phalp, Raian Ali
REFSQ3
2014 Systematic Elaboration of Compliance Requirements Using Compliance Debt and Portfolio Theory
Bendra Ojameruaye, Rami Bahsoon
REFSQ2
2014 Second International Workshop on Engineering Mobile Service Oriented Systems (EMSOS 2014)
abstract
The IEEE Engineering Mobile Service Oriented Systems (EMSOS) Workshop aims to bring together researchers from academia and industry, as well as practitioners in the area of engineering services in mobile environments in order to provide a forum where recent research results can be presented and discussed. The objective is to understand open issues in the software engineering area of services applied in mobile environments, and to build a community of researchers and practitioners willing to collaborate on these issues.
Nour Ali, Rami Bahsoon, Ian Gorton
SERVICES2
2014 The Fourth IEEE International Workshop on the Future of Software Engineering for/in the Cloud 2014 (FoSEC 2014)
abstract
The workshop aims to bridge the gap between software engineering, services, business and cloud computing communities by specifically addressing the challenges for software engineering FOR and IN the cloud. The workshop issue extends our scientific query for probing an answer for the above through successive workshops on the Future of Software engineering IN and FOR the Cloud in conjunction with IEEE Cloud, IEE ICWS, and IEEE SCC in conjunction with IEEE Congress on Services, the flagship conference on cloud and service computing.
Rami Bahsoon, Nour Ali, Ivan Mistrík, T. S. Mohan
SERVICES1
2014 Architecting Self-Aware Software Systems
abstract
Contemporary software systems are becoming increasingly large, heterogeneous, and decentralised. They operate in dynamic environments and their architectures exhibit complex trade-offs across dimensions of goals, time, and interaction, which emerges internally from the systems and externally from their environment. This gives rise to the vision of self-aware architecture, where design decisions and execution strategies for these concerns are dynamically analysed and seamlessly managed at run-time. Drawing on the concept of self-awareness from psychology, this paper extends the foundation of software architecture styles for self-adaptive systems to arrive at a new principled approach for architecting self-aware systems. We demonstrate the added value and applicability of the approach in the context of service provisioning to cloud-reliant service-based applications.
Funmilade Faniyi, Peter R. Lewis 0001, Rami Bahsoon, Xin Yao 0001
WICSA3
2014 Scalable service-oriented replication with flexible consistency guarantee in the cloud
Tao Chen 0001, Rami Bahsoon, Abdel-Rahman H. Tawil
Inf. Sci.2
2013 The future of software engineering IN and FOR the cloud
Rami Bahsoon, Ivan Mistrík, Nour Ali, T. S. Mohan, Nenad Medvidovic
J. Syst. Softw.1
2013 A Decentralized Self-Adaptation Mechanism for Service-Based Applications in the Cloud
abstract
Cloud computing, with its promise of (almost) unlimited computation, storage, and bandwidth, is increasingly becoming the infrastructure of choice for many organizations. As cloud offerings mature, service-based applications need to dynamically recompose themselves to self-adapt to changing QoS requirements. In this paper, we present a decentralized mechanism for such self-adaptation, using market-based heuristics. We use a continuous double-auction to allow applications to decide which services to choose, among the many on offer. We view an application as a multi-agent system and the cloud as a marketplace where many such applications self-adapt. We show through a simulation study that our mechanism is effective for the individual application as well as from the collective perspective of all applications adapting at the same time.
Vivek Nallur, Rami Bahsoon
IEEE Trans. Software Eng.2
2011 Scalable Service Oriented Replication in the Cloud
abstract
Replication techniques are widely applied in and for cloud to enable elastically scalable and highly available service. Consistency and scalability requirements need to be ensured for the applications deploy in cloud. However, a major lack of existing service oriented replication approaches is that they only allow either rather restricted consistency or none at all, consequently the system may violates consistency requirements or does not scale well. In this paper, we present Scalable Service Oriented Replication (SSOR), a middleware solution that satisfies application's requirements in service replication. We propose the notions of region and the relevant service oriented requirements policies, by which trading between consistency and scalability can be handled. We solve atomic broadcast as a sub-problem by demonstrating Multi-fixed Sequencers Protocol (MSP). We also apply a Region based Election Protocol (REP) that elastically balances the workload amongst sequencers. Preliminary experiments show that the proposed approach achieves better scalability with desirable consistency constraint.
Tao Chen 0001, Rami Bahsoon
IEEE CLOUD2
2011 The IEEE International Workshop on the Future of Software Engineering for/in the Cloud (FoSEC 2011)
abstract
The IEEE International Workshop on the Future of Software Engineering for/in the Cloud (FoSEC 2011)aims to bridge the gap between software engineering and cloud computing by specifically addressing the software engineering challenges for software engineering for and in the cloud.
Rami Bahsoon, Ivan Mistrík, T. S. Mohan, Nour Ali
SERVICES1
2011 Engineering Proprioception in SLA Management for Cloud Architectures
abstract
With the wide adoption of the Cloud, there remains an open challenge to provide more dependable, transparent, and trustworthy provision of services. Service terms are typically defined in the Service Level Agreement (SLA) binding both service providers and users. For the service user, there is a need to ensure that s/he is enjoying the agreed level of service and any violations are reported accordingly. For the service provider, there is a need to manage a resilient infrastructure capable of meeting SLA terms and inform strategies for maximising profit and resource utilisation. The massive size, dynamism and unpredictability of Cloud architectures makes these goals difficult to accomplish using classic Service Level Management (SLM) approaches. In this paper, we motivate the need for novel dynamic and decentralised approaches for the design of SLM. Requirements and key design decisions for the new SLM are described. Also, a conceptual architecture for realising these requirements is presented. We roadmap and discuss research directions, which can benefit from the new SLM.
Funmilade Faniyi, Rami Bahsoon
WICSA2
2011 Evaluating Security Properties of Architectures in Unpredictable Environments: A Case for Cloud
abstract
The continuous evolution and unpredictability underlying service-based systems leads to difficulties in making exact QoS claims about the dependability of architectures interfacing with them. Hence, there is a growing need for new methods to evaluate the dependability of architectures interfacing with such environments. This paper presents a method for evaluating the security quality attribute of architectures in service-based systems. The proposed method combines some properties of the Architectural Tradeoff Analysis Method (ATAM) and security testing using Implied Scenario. In particular, the scenario elicitation process of ATAM is improved by utilising Implied Scenario technique to generate scenarios which may be undetected using plain ATAM. An industrial case study of a problem related to securing data at the Software-as-a-Service layer on Force.com Cloud platform is adopted to validate the new method. The results indicate that our method found four additional security scenarios beyond the plain ATAM, resulting in four new risks and two new tradeoff points.
Funmilade Faniyi, Rami Bahsoon, Andy Evans, Rick Kazman
WICSA2
2010 A Framework for Dynamic Self-optimization of Power and Dependability Requirements in Green Cloud Architectures
Rami Bahsoon
ECSA1
2010 Special Issue on Software Architecture and Mobility
Rami Bahsoon, Licia Capra, Wolfgang Emmerich, Mohamed Fayad
J. Syst. Softw.1
2008 Secure Storage and Communication in J2ME Based Lightweight Multi-Agent Systems
Syed Muhammad Ali Shah, Naseer Gul, Hafiz Farooq Ahmad, Rami Bahsoon
KES-AMSTA4
2008 An Example on Economics-driven Software Mining
Rami Bahsoon, Wolfgang Emmerich
SEKE1
2008 An Economics-Driven Approach for Valuing Scalability in Distributed Architectures
abstract
Drawing on a case study that adequately represents a medium-size component-based distributed architecture, the contribution of this paper shows how existing performance repositories could be mined to value the ranges in which a given software architecture can scale to support likely changes in load. The mining is based on a financial analogy, where we utilize the concept of twin asset in financial engineering to justify mining relevant repositories. The mining process in then complemented with real options analysis for predicting the values resulted from the ranges in which an architecture can scale under uncertainty, where uncertainty is attributed to the unpredicted change in load. As the exact method for analyzing scalability is subject to debate, we focus the analysis on throughput as a way for measuring scalability. Using options analysis, we report on how ranges in which an architecture can scale, can inform the selection of distributed components technology and subsequently the selection of application server products.
Rami Bahsoon, Wolfgang Emmerich
WICSA1
2008 Interschema correspondence establishment in a cooperative OWL-based multi-information server grid environment
Abdel-Rahman H. Tawil, Matthew Montebello, Rami Bahsoon, W. Alex Gray, Nick J. Fiddian
Inf. Sci.3
2006 Requirements for Evaluating Architectural Stability
abstract
architectural stability. We outline the requirements for evaluating architectural stability when need to be addressed from an economics-driven software engineering perspective. The bene- fit derived from having an evaluation approach, which addresses these requirements, is that it provides the analyst/architect with insights into architectural stability and investment decisions related to the evolution of software architectures. Such an ap- proach demonstrates that with value-based reasoning we can improve our ability to evaluate for architectural stability and develop software systems that need to adapt to the inevitable evolving requirements. We highlight our work in progress, which addresses the outlined requirements.
Rami Bahsoon, Wolfgang Emmerich
AICCSA1
2004 Evaluating Architectural Stability with Real Options Theory
abstract
Architectural stability refers to the extent to which a software architecture is flexible enough to respond to changes in stakeholders' requirements and the environment. We contribute to a model that exploits options theory to evaluate architectural stability. We describe how we have derived the model: the analogy and assumptions made; its formulation and possible interpretations. We use a refactoring case study to empirically evaluate the model. The results show that the model can provide insights into architectural stability and investment decisions related to the evolution of software systems.
Rami Bahsoon, Wolfgang Emmerich
ICSM1
2002 Reduction-based methods and metrics for selective regression testing
Nashat Mansour, Rami Bahsoon
Inf. Softw. Technol.2
2001 Methods and Metrics for Selective Regression Testing
abstract
In corrective software maintenance, selective regression testing includes test selection from previously-run test suites and test coverage identification. We propose three reduction-based regression test selection methods and two McCabe-based coverage identification metrics (T. McCabe, 1976). We empirically compare these methods with three other reduction- and precision-oriented methods, using 60 test problems. The comparison shows that our proposed methods yield favourable results.
Rami Bahsoon, Nashat Mansour
AICCSA1
2001 Empirical comparison of regression test selection algorithms
Nashat Mansour, Rami Bahsoon, Ghinwa Baradhi
J. Syst. Softw.2