Dr. Issam Al-Azzoni received his Ph.D. in Software Engineering from McMaster University, Ontario, Canada. He is currently with the College of Engineering at Al Ain University, Al Ain, United Arab Emirates. His research interests include software modeling, model transformations, data science, and the application of formal methods and machine learning in software engineering. Dr. Issam is also a certified Associate Big Data Analyst (ABDA) by the Data Science Council of America (DASCA).
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
Applications of formal methods and machine learning in software engineering, software modeling, model transformations, software performance engineering and data science.
- 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.
- H. Al-Daoud, I. Al-Azzoni, and D.G. Down. Power-aware linear programming based scheduling for heterogeneous server clusters. Future Generation Computer Systems, 28(5): 745-754, 2012.
- I. Al-Azzoni and D.G. Down. Dynamic scheduling for heterogeneous Desktop Grids. Journal of Parallel and Distributed Computing, 70(12): 1231–1240, 2010.
- I. Al-Azzoni and D.G. Down. Linear programming based afﬁnity scheduling of independent tasks on heterogeneous computing systems. IEEE Transactions on Parallel and Distributed Systems, 19(12): 1671–1682, 2008.
- I. Al-Azzoni, D.G. Down, and R. Khedri. Modeling and veriﬁcation of cryptographic protocols using Coloured Petri Nets and Design/CPN. Nordic Journal of Computing, 12(3): 201–228, 2005.
- N. Petrović and I. Al-Azzoni. Model-Driven Approach to COVID-19 Vaccination Planning Leveraging Multi-Objective Optimization and Deep Learning. In proceedings of the Small Systems Simulation Symposium (SSSS), pages 19-24, February 2022.
- N. Petrović, I. Al-Azzoni, and A. Alqahtani. Model-Driven Approach to Smart Grid Stability Prediction in Neo4j. In proceedings of the International Conference on Science, Technology and Management in Energy (eNergetics), pages 299-305, December 2021.
- N. Petrović, I. Al-Azzoni, and J. Blank. Model-driven Multi-objective Optimization Approach to 6G Network Planning. International Conference on Advanced Technologies, Systems and Services in Telecommunications (TELSIKS), 2021, pp. 223-226.
- I. Al-Azzoni, N. Petrović, and A. Alqahtani. A Utility to Transform CSV Data into EMF. The International Conference on Software Defined Systems (SDS), 2021.
- I. Al-Azzoni. Model Driven Approach for Neural Networks. In Proceedings of the International Conference on Intelligent Data Science Technologies and Applications (IDSTA), pages 87-94, October 2019.
- I. Al-Azzoni. ATL Transformation of Queueing Networks to Queueing Petri Nets. In Proceedings of the International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pages 261-268, February 2017.
- L. Al-Dakheel and I. Al-Azzoni. Model-to-Model Based Approach for Software Components Allocation in Embedded Systems. In Proceedings of the International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pages 320-328, February 2017.
- I. Al-Azzoni. Server Consolidation Using Coloured Petri Nets and CPN Tools. In Proceedings of the International Conference on Information and Communication Systems (ICICS 2015), pages 32-37, 2015.
- I. Al-Azzoni. Software Component Allocation on Heterogeneous Embedded Systems Using Coloured Petri Nets. In Proceedings of the First International Conference on Advances and Trends in Software Engineering (SOFTENG 2015), pages 23-28, 2015.
- I. Al-Azzoni and D. Kondo. Cost-aware Performance modeling of Multi-Tier Web Applications in the Cloud. In Proceedings of the International Conference on Networked Digital Technologies, pages 186-196, 2012.
- I. Al-Azzoni, L. Zhang, and D.G. Down. Performance evaluation for software migration. In Proceedings of the ACM WOSP/SIPEW International Conference on Performance Engineering, pages 323–328, 2011.
- H. Al-Daoud, I. Al-Azzoni, and D.G. Down. Power-aware linear programming based scheduling for heterogeneous computer clusters. In Proceedings of the IEEE International Conference on Green Computing, pages 325–332, 2010.
- I. Al-Azzoni and D.G. Down, Decentralized load balancing for heterogeneous grids, In Proceedings of Future Computing, pages 545–550, 2009.
- M. Kokaly, I. Al-Azzoni, and D.G. Down. MGST: a framework for the performance evaluation in Desktop Grids. In Proceedings of the IEEE International Symposium on Parallel and Distributed Processing, 2009.
- I. Al-Azzoni and D.G. Down. Dynamic scheduling for heterogeneous Desktop Grids. In Proceedings of the IEEE/ACM International Conference on Grid Computing, pages 136–143, 2008.
- Y-T He, I. Al-Azzoni, and D.G. Down. MARO – MinDrift afﬁnity routing for resource management in heterogeneous computing systems. In Proceedings of the International Conference of the Centre for Advanced Studies on Collaborative Research, pages 71–85, 2007.
- I. Al-Azzoni and D.G. Down. Linear programming based afﬁnity scheduling for heterogeneous computing systems. In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, pages 105–111, 2007.
- I. Al-Azzoni, D.G. Down, and R. Khedri. Modeling and veriﬁcation of cryptographic protocols using Coloured Petri Nets and Design/CPN. In Proceedings of the International Workshop on Model-Based Methodologies for Pervasive and Embedded Software, pages 1–20, 2005.
Software Evolution and Maintenance, Data and Web Mining, Introduction to Artificial Intelligence, Ethical Hacking, Software Measurement and Testing, Introduction to Numerical Methods, Discrete Structures, Introduction to Programming, Introduction to Compilers, Web Development, Data Structures and Algorithms, and Object-Oriented Programming.
IEEE: Institute of Electrical and Electronics Engineers – Senior Member
Model-Driven Approach to Fading-Aware Wireless Network Planning Leveraging Multiobjective Optimization and Deep Learning
Published in: Mathematical Problems in Engineering
Apr 08, 2022
Efficient resource planning is recognized as one of the key enablers making the large-scale deployment of next-generation wireless networks available for mass usage. Modelling, planning, and software simulation tools reduce both the time needed and costs of their tuning and realization. In this paper, we propose a model-driven framework for proactive network planning relying on synergy of deep learning and multiobjective optimization. The predictions about service demand and energy consumption are taken into account. Also, the impact of degradations resulting from fading and cochannel interference (CCI) effects is also considered. The optimization task is treated as a component allocation problem (CAP) aiming to find the best possible base station allocation for the considered smart city locations with respect to performance and service demand constraints. The goal is to maximize Quality of Service (QoS) while keeping the costs and energy consumption as low as possible. The adoption of a model-driven approach in combination with model-to-model transformations and automated code generation does not only reduce the complexity, making experimentation more rapid and convenient at the same time, but also increase the overall reusability and expandability of the planning tool. According to the obtained results, the proposed solution seems to be promising not only due to achieved benefits but also regarding the execution time, which is shorter than that achieved in our previous works, especially for larger distances. Further, we adopt model-based representation of handover strategies within the planning tool, enabling examination of the dynamic behavior of user-created plan, which is not exploited in other similar works. The main contributions of the paper are (1) wireless network planning (WNP) metamodel, a modelling notation for network plans; (2) model-to-model transformation for conversion of WNP to generalized CAP metamodel; (3) prediction problem (PP) metamodel, high-level abstraction for representation of prediction-related regression and classification problems; (4) code generator that creates PyTorch neural network from PP representation; (5) service demand and energy consumption prediction modules performing regression; (6) multiobjective optimization model for base station allocation; (7) Handover Strategy (HS) metamodel used for description of dynamic aspects and adaptability relevant to network planning.
Model-Driven Approach to COVID-19 Vaccination Planning Leveraging Multi-Objective Optimization and Deep Learning
Published in: Small Systems Simulation Symposium (SSSS)
Feb 28, 2022
Vaccination is recognized as one of crucial measures in battle against COVID-19, contributing to both the reduction of its negative impact on infected person and overall spread reduction. In this paper, we focus on adoption of model-driven approach to proactive and cost-effective vaccine distribution, relying on deep-learning (for vaccine-demand predictions) and multi-objective optimization (for solving the allocation problem). As outcome, software simulation tool for efficient vaccination planning, relying on the proposed approach is presented, showing promising results. Furthermore, the adoption of model-driven approach reduces both the learning curve and time necessary for experimentation.
Dec 08, 2021
Stability is of utmost importance when it comes to smart grid infrastructures. Dramatic parameter variations and fluctuations can lead to wrong decisions, which could lead to fatal consequences. In this paper, we propose a model-driven methodology for highly automated machine learning approach to smart grid stability prediction. Stability prediction is treated as binary classification problem and implemented relying on Neo4j graph database's Graph Data Science Library (GDS). The proposed framework is evaluated on open, publicly available dataset. According to the achieved results, the predictive model shows better performance in terms of accuracy and execution time compared to other solutions based on deep learning. On the other side, the adoption of model-driven approach is beneficial when it comes to reusability and convenient experimentation compared to manual, non-automated design.
Dec 06, 2021
With the era of data evolution, enterprises increasingly depend on data utilization tools to import or export data from various data sources. Traditionally, enterprises archive such data into row formats, commonly in CSV files. The flat representation of these files has become an excessive burden to opt the right approach for developing and designing applications that structurally meet business needs. CASE (Computer-Aided Software Environment) tools have been praised by domain experts to build applications by describing their domains in a high abstracted level and automatically generating the appropri-ate implementations. However, these tools lack the appropriate facilities to support efficient and generic bulk data import. In this paper, we present a generic CSV data parser based on EMF (Eclipse Modeling Framework) to automatically map row data into platform-specific models. We define a mapping model which defines the mapping between the CSV files and the target metamodels, and an auxiliary Python script to retrieve the corresponding elements. The experimental evaluation of our parser demonstrates its efficiency to import large CSV files into EMF. In this sense, we aim to increase the adoption of model-based approaches for data-driven use cases by executing bulk and row data import into EMF in an agnostic manner.
Published in: Algorithms
Dec 01, 2021
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.
Oct 20, 2021
Ultra high-speed and reliable next-generation 6G mobile networks are recognized as key enablers for many innovative scenarios in smart cities – from vehicular use cases and surveillance to healthcare. However, deployment of such network requires tremendous amount of time and involves various costs. For that reason, optimal network planning is of utmost importance for development of 6G mobile networks in smart cities. In this paper, we explore the potential of multi-objective linear optimization in synergy with model-driven approach in order to achieve efficient network planning in smart cities. As outcome, a solution relying on pymoo is proposed and compared to previous works relying only on single objective implemented in AMPL. According to the achieved results, this approach speeds up the execution, while giving more flexibility when it comes to cost/performance trade-offs.
Aug 01, 2021
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.
Published in: e-Informatica Software Engineering Journal
Jun 01, 2021
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.
Published in: IEEE Access
Aug 13, 2020
The software component allocation problem is concerned with mapping a set of software components to the computational units available in a heterogeneous computing system while maximizing a certain objective function. This problem is important in the domain of component-based software engineering, and solving it is not a trivial task. In this paper, we demonstrate a software framework for defining and solving component allocation problem instances. In addition, we implement two meta-heuristics for solving the problem. The experiments show that these meta-heuristics achieve good performance. The framework is designed to be extensible and therefore other researchers can conveniently use it to implement new meta-heuristics for solving the software component allocation problem.
Published in: e-Informatica Software Engineering Journal
Jul 06, 2020
Background: The comprehensive representation of functional requirements is a crucial activity in the analysis phase of the software development life cycle. Representation of a complete set of functional requirements helps in tracing business goals effectively throughout the development life cycle. Use case modelling is one of the most widely-used methods to represent and document functional requirements of the system. Practitioners exploit use case modelling to represent interactive functional requirements of the system while overlooking some of the non-interactive functional requirements. The non-interactive functional requirements are the ones which are performed by the system without an initiation by the user, for instance, notifying something to the user or creating an internal backup. Aim: This paper addresses the representation of non-interactive requirements along with interactive ones (use cases) in one model. This paper calls such requirements 'operation cases' and proposes a new set of graphical and textual notations to represent them. Method: The proposed notations have been applied on a case study and have also been empirically evaluated to demonstrate the effectiveness of the new notations in capturing non-interactive functional requirements. Results and Conclusion: The results of the evaluation indicate that the representation of operation cases helps in documenting a complete set of functional requirements, which ultimately results in a comprehensive translation of requirements into design.
Published in: Journal of Software Engineering and Applications
Sep 28, 2018
In this paper, we present an approach for model transformation from Queueing Network Models (QNMs) into Queueing Petri Nets (QPNs). The performance of QPNs can be analyzed using a powerful simulation engine, SimQPN, designed to exploit the knowledge and behavior of QPNs to improve the efficiency of simulation. When QNMs are transformed into QPNs, their performance can be analyzed efficiently using SimQPN. To validate our approach, we apply it to analyze the performance of several queueing network models including a model of a database system. The evaluation results show that the performance analysis of the transformed QNMs has high accuracy and low overhead. In this context, model transformation enables the performance analysis of queueing networks using different ways that can be more efficient.
An Improved Coloured Petri Net Model for Software Component Allocation on Heterogeneous Embedded Systems
Published in: Journal of Computing and Information Technology
Jun 01, 2018
We extend an approach to component allocation on heterogeneous embedded systems using Coloured Petri Nets (CPNs). We improve the CPN model for the embedded systems and outline a technique that exploits CPN Tools, a well-known CPN tool, to efficiently analyze embedded system's state space and find optimal allocations. The approach is model-based and represents an advancement towards a model-driven engineering view of the component allocation problem. We incorporate communication costs between components by extending the CPN formalism with a non-trivial technique to analyze the generated state space. We also suggest a technique to improve the state space generation time by using the branching options supported in CPN Tools. In the evaluation, we demonstrate that this technique significantly cuts down the size of the generated state space and thereby reduces the runtime of state space generation and thus the time to find an optimal allocation.
Published in: MODELSWARD 2017
Feb 19, 2017
This paper presents an approach for model transformation from Queueing Network Models (QNMs) into Queueing Petri Nets (QPNs). This would open up the benefits of QPNs in analyzing the performance of QNMs. We present metamodels for QNMs and QPNs, and then present the transformation rules in the ATLmodel transformation language. To validate our approach, we apply it to analyze the performance of a QNM and compare the results with those obtained using analytic methods. Although the approach is presented using ATL and Ecore meta modeling language in the context of the Eclipse Modeling Project, it can be realized using other modeling frameworks and languages.
Published in: MODELSWARD 2017
Feb 19, 2017
Due to the popularity and heterogeneity of embedded systems, the problem of software component (SW-component) allocation in such systems is receiving increasing attention. Addressing this problem using a graphical modeling language such as Ecore will enable system designers to better and more easily allocate their components. However, the existing Ecore models do not address the problem of SW-component allocation in heterogeneous embedded systems. Because of Ecore informal semantics, Ecore models cannot be analyzed using mathematical tools. On the other hand, an approach based on colored Petri nets (CPNs) was proposed for the modeling and analysis of the software component allocation problem. The approach was shown to be applicable in the field not only with respect to the cost optimization problem, but also because it takes nonfunctional requirements into consideration. In this paper, we propose an approach for the automated transformation of an Ecore model into an equivalent CPN model, which will help the modeler use the power of a formal modeling language by only modeling the system using a simple Ecore-based modeling language.
Jan 01, 2015
In this paper, we present a new approach to server consolidation in heterogeneous computer clusters using Colored Petri Nets (CPNs). Server consolidation aims to reduce energy costs and improve resource utilization by reducing the number of servers necessary to run the existing virtual machines in the cluster. It exploits the emerging technology of live migration which allows migrating virtual machines between servers without stopping their provided services. Server consolidation approaches attempt to find migration plans that aim to minimize the necessary size of the cluster. Our approach finds plans which not only minimize the overall number of used servers, but also minimize the total data migration overhead. The latter objective is not taken into consideration by other approaches and heuristics. We explore the use of CPN Tools in analyzing the state spaces of the CPNs. Since the state space of the CPN model can grow exponentially with the size of the cluster, we examine different techniques to generate and analyze the state space in order to find good plans to server consolidation within acceptable time and computing power.