Issam Al-Azzoni, Ph.D

Associate Professor

Al Ain Campus

Tel: +971 3 7024884

issam.alazzoni@aau.ac.ae

Education

Ph.D. in Software Engineering, McMaster University, Canada

Master of Applied Sciences in Software Engineering, McMaster University, Canada

Bachelor of Engineering (Software Engineering), McMaster University, Canada

Research Interests

  • Applications of formal methods and machine learning in software engineering
  • Software modeling
  • Model transformations
  • Software performance engineering and Data Science
  • Smart Contracts and Blockchains.

Selected Publications

  • D. Krstić, N. Petrović, S. Suljovic and I. Al-Azzoni. AI-Enabled Framework for Mobile Network Experimentation Leveraging ChatGPT: Case Study of Channel Capacity Calculation for η-µ Fading and Co-Channel Interference. Electronics 2023, 12(19), 4088.
  • Dragana Krstić, Nenad Petrović, and I. Al-Azzoni. Model-Driven Approach to Fading-Aware Wireless Network Planning Leveraging Multiobjective Optimization and Deep Learning. Mathematical Problems in Engineering. 2022.
  • I. Al-Azzoni, J. Blank, and N. Petrović.  A Model-Driven Approach for Solving the Software Component Allocation Problem. Algorithms, 14(12), 354, 2021.
  • Saqib Iqbal and I. Al-Azzoni. Test Case Prioritization for Model Transformations. Journal of King Saud University - Computer and Information Sciences. 2021.
  • I. Al-Azzoni ad S. Iqbal. A Framework for the Regression Testing of Model-to-Model Transformations. e-Informatica Software Engineering Journal. 15(1), 65–84, 2021.
  • I. Al-Azzoni and S. Iqbal. Meta-Heuristics for Solving the Software Component Allocation Problem. IEEE Access. 2020. doi: 10.1109/ACCESS.2020.3015864.
  • S. Iqbal, I. Al-Azzoni, G. Allen, H.U. Khan. Extending UML Use Case Diagrams to Represent Non-Interactive Functional Requirements. e-Informatica Software Engineering Journal. 14(1), 97-115, 2020.
  • I. Al-Azzoni. On Utilizing Model Transformation for the Performance Analysis of Queueing Networks. Journal of Software Engineering and Applications. 11(9): 435-457, 2018.
  • I. Al-Azzoni. An Improved Coloured Petri Net Model for Software Component Allocation on Heterogeneous Embedded Systems. Journal of Computing and Information Technology. 26(2): 85-97, 2018.
  • I. Al-Azzoni. Server Consolidation for Heterogeneous Computer Clusters Using Coloured Petri Nets and CPN Tools. Journal of King Saud University - Computer and Information Sciences, 27(4): 376-385, 2015.

Teaching Courses

  • Software Evolution and Maintenance
  • Introduction to Artificial Intelligence
  • Ethical Hacking
  • Software Measurement and Testing
  • Data Structures and Algorithms

Memberships

IEEE: Institute of Electrical and Electronics Engineers – Senior Member

 

Expertise related to UN Sustainable Development Goals

In 2015, UN member states agreed to 17 global Sustainable Development Goals (SDGs) to end poverty, protect the planet and ensure prosperity for all.

This person’s work contributes towards the following SDG(s):

 

 

Article

Model-Driven Approach for Generating Smart Contracts for Access Control

Published in: International Conference on Blockchain Computing and Applications (BCCA)

Dec 01, 2023

/ Issam Al-Azzoni / Saqib Iqbal

Access controls are principles and policies that are deployed on a system to ensure privileged access to system resources. Role-based access controls are a type of access controls which ensure access to resources based on users' roles. There has been a recent interest in generating smart contracts for the design of access controls. Smart contracts are computerized applications or protocols which execute automatically between contributory entities without an intermediary interference. The smart contracts, however, have a limitation of being dependent on the blockchain platform for which they are designed. This limitation has been resolved by iContractML framework, which offers a provision of designing and implementing smart contracts for multiple platforms. In this study, we have used a model-driven engineering (MDE) based approach to exploit iContractML for generating smart contract for role-based access controls. We have extended the meta-model of iContractML with new notations and have used the revised meta-model to generate smart contracts for role-based access controls. The generated contracts have been thoroughly tested and evaluated for correctness.


Article

AI-enabled framework for mobile network experimentation leveraging ChatGPT: Case study of channel capacity calculation for η-µ fading and co-channel interference

Published in: Electronics

Sep 29, 2023

Dragana Krstic Nenad Petrovic Suad Suljovic / Issam Al-Azzoni

Artificial intelligence has been identified as one of the main driving forces of innovation in state-of-the-art mobile and wireless networks. It has enabled many novel usage scenarios, relying on predictive models for increasing network management efficiency. However, its adoption requires additional efforts, such as mastering the terminology, tools, and newly required steps of data importing and preparation, all of which increase the time required for experimentation. Therefore, we aimed to automate the manual steps as much as possible while reducing the overall cognitive load. In this paper, we explore the potential use of a novel Chat Generative Pre-trained Transformer (ChatGPT) conversational agent together with a model-driven approach relying on the Neo4j graph database in order to aid experimentation and analytics in the case of wireless network planning. As a case study, we present a derivation of the expression for the channel capacity (CC) metric in the case of η-µ multipath fading and η-µ co-channel interference. Moreover, the derived expression is leveraged for quality of service (QoS) estimation within the software simulation environment. ChatGPT, in synergy with a model-driven approach, is used to automate several steps: data importing, generation of graph construction, and machine learning-related Neo4j queries. According to the achieved outcomes, the proposed QoS estimation method, based on the derived CC expression (with precision up to the fifth significant digit), demonstrates satisfactory accuracy (up to 98%) and faster training than the deep neural network-based solution. On the other hand, compared to the manual approach based on our previous work, ChatGPT-based code generation reduces the time required for experimentation by more than 4 times.


Article

Test case prioritization for model transformations

Published in: Journal of King Saud University - Computer and Information Sciences

Sep 01, 2022

/ Saqib Iqbal / Issam Al-Azzoni

The application of model transformations is a critical component in Model-Driven Engineering (MDE). To ensure the correctness of the generated models, these model transformations need to be extensively tested. However, during the regression testing of these model transformations, it becomes too costly to frequently run a large number of test cases. Test case prioritization techniques are needed to rank the test cases and help the tester during the regression testing to be more efficient. The objective is to rank the fault revealing test cases higher so that a tester can only execute the top ranked test cases and still be able to detect as many faults as possible in the case of limited budget and resources. The aim of this paper is to present a test prioritization approach for the regression testing of model transformations. The approach is based on exploiting the rule coverage information of the test cases. The paper presents an empirical study which compares several techniques introduced by our approach for prioritizing test cases. The approach is complemented with a tool that implements the proposed techniques and can automatically generate test case orderings.


Article

A Model-Driven Approach for Solving the Software Component Allocation Problem

Published in: Algorithms

Dec 06, 2021

issam Al-Azzoni Julian Blank Nenad Petrovic

The underlying infrastructure paradigms behind the novel usage scenarios and services are becoming increasingly complex—from everyday life in smart cities to industrial environments. Both the number of devices involved and their heterogeneity make the allocation of software components quite challenging. Despite the enormous flexibility enabled by component-based software engineering, finding the optimal allocation of software artifacts to the pool of available devices and computation units could bring many benefits, such as improved quality of service (QoS), reduced energy consumption, reduction of costs, and many others. Therefore, in this paper, we introduce a model-based framework that aims to solve the software component allocation problem (CAP). We formulate it as an optimization problem with either single or multiple objective functions and cover both cases in the proposed framework. Additionally, our framework also provides visualization and comparison of the optimal solutions in the case of multi-objective component allocation. The main contributions introduced in this paper are: (1) a novel methodology for tackling CAP-alike problems based on the usage of model-driven engineering (MDE) for both problem definition and solution representation; (2) a set of Python tools that enable the workflow starting from the CAP model interpretation, after that the generation of optimal allocations and, finally, result visualization. The proposed framework is compared to other similar works using either linear optimization, genetic algorithm (GA), and ant colony optimization (ACO) algorithm within the experiments based on notable papers on this topic, covering various usage scenarios—from Cloud and Fog computing infrastructure management to embedded systems, robotics, and telecommunications. According to the achieved results, our framework performs much faster than GA and ACO-based solutions. Apart from various benefits of adopting a multi-objective approach in many cases, it also shows significant speedup compared to frameworks leveraging single-objective linear optimization, especially in the case of larger problem models.


Article

A Framework for the Regression Testing of Model-to-Model Transformations

Published in: e-Informatica Software Engineering Journal

Jun 01, 2021

/ Issam Al-Azzoni / Saqib Iqbal

Background: Model transformations play a key role in Model-Driven Engineering (MDE). Testing model transformation is an important activity to ensure the quality and correctness of the generated models. However, during the evolution and maintenance of these model transformation programs, frequently testing them by running a large number of test cases can be costly. Regression test selection is a form of testing, which selects tests from an existing test suite to test a modified program. Aim: The aim of the paper is to present a test selection approach for the regression testing of model transformations. The selected test case suite should be smaller in size than the full test suite, thereby reducing the testing overhead, while at the same time the fault detection capability of the full test suite should not be compromised. Method: approach is based on the use of a traceability mapping of test cases with their corresponding rules to select the affected test items. The approach is complemented with a tool that automates the proposed process. Results: Our experiments show that the proposed approach succeeds in reducing the size of the selected test case suite, and hence its execution time, while not compromising the fault detection capability of the full test suite. Conclusion: The experimental results confirm that our regression test selection approach is cost-effective compared to a retest strategy.