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.
- 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.
- 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, Software Measurement and Testing, Introduction to Numerical Methods, Discrete Structures, Introduction to Programming, Introduction to Compilers, Data Structures and Algorithms, Object-Oriented Programming.
IEEE: Institute of Electrical and Electronics Engineers – Member
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.