Mahdi Fahmideh

SE
h-index16
25papers
713citations
Novelty18%
AI Score20

25 Papers

CRDec 4, 2023
Cybersecurity threats in FinTech: A systematic review

Danial Javaheri, Mahdi Fahmideh, Hassan Chizari et al.

The rapid evolution of the Smart-everything movement and Artificial Intelligence (AI) advancements have given rise to sophisticated cyber threats that traditional methods cannot counteract. Cyber threats are extremely critical in financial technology (FinTech) as a data-centric sector expected to provide 24/7 services. This paper introduces a novel and refined taxonomy of security threats in FinTech and conducts a comprehensive systematic review of defensive strategies. Through PRISMA methodology applied to 74 selected studies and topic modeling, we identified 11 central cyber threats, with 43 papers detailing them, and pinpointed 9 corresponding defense strategies, as covered in 31 papers. This in-depth analysis offers invaluable insights for stakeholders ranging from banks and enterprises to global governmental bodies, highlighting both the current challenges in FinTech and effective countermeasures, as well as directions for future research.

SEFeb 16, 2022
Knowledge Management for Cloud Computing Field

Mahdi Fahmideh, Jun Yan, Jun Shen et al.

Migration legacy systems to cloud platforms is a knowledge intensive process. There is an ever increasing body of knowledge reporting empirical scenarios of successful and problematic cloud migration. Reusing this body of knowledge, dispersed and fragmented over the academic/multi-vocal literature, has practical values to mitigate costly risks and pitfalls in further projects of legacy to-cloud and cloud-to-cloud migration. In line with this, knowledge management systems/platforms pertinent to cloud migration are a prime prerequisite and a strategic imperative for an organization. We have conducted a qualitative exploratory study to understand the benefits and challenges of developing Knowledge Management Systems (KMS) for cloud migration in real trials. Whilst our prototype system demonstration supported the importance and bene-fits of developing Cloud Migration KMS (CM-KMS), our semi-structured industry interview study with 11 participants highlighted challenging impediments against developing this class of KMS. As a result, this study proposes nine significant challenges that cause the abandon of the design and maintenance of CM-KMS, including continuous changes and updates, integration of knowledge, knowledge granularity, preservation of context, automation, deconstruction of traditional knowledge, dependency on experts, hybrid knowledge of both vendor-specific and vendor-neutral cloud platforms, and parsimony. Our results inform cloud architects to pay attention to adopt CM-KMS for the legacy-to-cloud migration in their organizations.

SEFeb 11, 2022
Software Architecture for Quantum Computing Systems -- A Systematic Review

Arif Ali Khan, Aakash Ahmad, Muhammad Waseem et al.

Quantum computing systems rely on the principles of quantum mechanics to perform a multitude of computationally challenging tasks more efficiently than their classical counterparts. The architecture of software-intensive systems can empower architects who can leverage architecture-centric processes, practices, description languages, etc., to model, develop, and evolve quantum computing software (quantum software for short) at higher abstraction levels. We conducted a systematic literature review (SLR) to investigate (i) architectural process, (ii) modeling notations, (iii) architecture design patterns, (iv) tool support, and (iv) challenging factors for quantum software architecture. Results of the SLR indicate that quantum software represents a new genre of software-intensive systems; however, existing processes and notations can be tailored to derive the architecting activities and develop modeling languages for quantum software. Quantum bits (Qubits) mapped to Quantum gates (Qugates) can be represented as architectural components and connectors that implement quantum software. Tool-chains can incorporate reusable knowledge and human roles (e.g., quantum domain engineers, quantum code developers) to automate and customize the architectural process. Results of this SLR can facilitate researchers and practitioners to develop new hypotheses to be tested, derive reference architectures, and leverage architecture-centric principles and practices to engineer emerging and next generations of quantum software.

SEDec 14, 2021
Blockchain Developments and Innovations

Mahdi Fahmideh, Anuradha Gunawardana, Shiping Chen et al.

Blockchain has received expanding interest from various domains. Institutions, enterprises, governments, and agencies are interested in Blockchain potential to augment their software systems. The unique requirements and characteristics of Blockchain platforms raise new challenges involving extensive enhancement to conventional software development processes to meet the needs of these domains. Software engineering approaches supporting Blockchain-oriented developments have been slow to materialize, despite proposals in the literature, and they have yet to be objectively analyzed. A critical appraisal of these innovations is crucial to identify their respective strengths and weaknesses. We present an analytical evaluation of several prominent Blockchain-oriented methods through a comprehensive, criteria-based evaluation framework. The results can be used for comparing, adapting, and developing a new generation of Blockchain-oriented software development processes and innovations.

SEOct 12, 2021
An Overview of Ontologies and Tool Support for COVID-19 Analytics

Aakash Ahmad, Madhushi Bandara, Mahdi Fahmideh et al.

The outbreak of the SARS-CoV-2 pandemic of the new COVID-19 disease (COVID-19 for short) demands empowering existing medical, economic, and social emergency backend systems with data analytics capabilities. An impediment in taking advantages of data analytics in these systems is the lack of a unified framework or reference model. Ontologies are highlighted as a promising solution to bridge this gap by providing a formal representation of COVID-19 concepts such as symptoms, infections rate, contact tracing, and drug modelling. Ontology-based solutions enable the integration of diverse data sources that leads to a better understanding of pandemic data, management of smart lockdowns by identifying pandemic hotspots, and knowledge-driven inference, reasoning, and recommendations to tackle surrounding issues.

SESep 24, 2021
A Model-Driven Approach to Reengineering Processes in Cloud Computing

Mahdi Fahmideh, John Grundy, Ghassan Beydoun et al.

The reengineering process of large data-intensive legacy software applications to cloud platforms involves different interrelated activities. These activities are related to planning, architecture design, re-hosting/lift-shift, code refactoring, and other related ones. In this regard, the cloud computing literature has seen the emergence of different methods with a disparate point of view of the same underlying legacy application reengineering process to cloud platforms. As such, the effective interoperability and tailoring of these methods become problematic due to the lack of integrated and consistent standard models.

SESep 4, 2021
Conceptualising Cloud Migration Lifecycle

Mahdi Fahmideh, Graham Low, Ghassan Beydoun

Many enterprise software systems supporting IT services are characterised by a need for a high computing capability and resource consumption (Armbrust et al. 2010; Buyya et al. 2008; Koçak et al. 2013). Cloud Computing initiatives have received a significant attention as a viable solution to address these requirements through offering a wide range of services, which are universally accessible, acquirable and releasable in a dynamic fashion, and payable on the basis of service usage. Hence, organisations view the cloud services as an opportunity to empower their legacy systems.

SEMay 5, 2021
Engineering Blockchain Based Software Systems: Foundations, Survey, and Future Directions

Mahdi Fahmideh, John Grundy, Aakash Ahmed et al.

Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empower software systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systems raise new challenges across the development lifecycle that entail an extensive improvement of conventional software engineering. This article presents a systematic literature review of the state-of-the-art in BBS engineering research from a software engineering perspective. We characterize BBS engineering from the theoretical foundations, processes, models, and roles and discuss a rich repertoire of key development activities, principles, challenges, and techniques. The focus and depth of this survey not only gives software engineering practitioners and researchers a consolidated body of knowledge about current BBS development but also underpins a starting point for further research in this field.

SEMay 5, 2021
A Comprehensive Framework for Analyzing IoT Platforms: A Smart City Industrial Experience

Mahdi Fahmideh, Jun Yan, Jun Shen et al.

The compliance of IoT platforms to quality is paramount to achieve users satisfaction. Currently, we do not have a comprehensive set of guidelines to appraise and select the most suitable IoT platform architectures that meet relevant criteria. This paper is a tentative response to this critical knowledge gap where we adopted the design science research approach to develop a novel evaluation framework. Our research, on the one hand, stimulates an unbiased competition among IoT platform providers and, on the other hand, establishes a solid foundation for IoT platform consumers to make informed decisions in this multiplicity. The application of the framework is illustrated in example scenarios. Moreover, lessons learned from applying design science research are shared.

SEMar 20, 2021
Software Engineering for IoT-Driven Data Analytics Applications

Aakash Ahmad, Mahdi Fahmideh, Ahmed B. Altamimi et al.

Internet of Things Driven Data Analytics (IoT-DA) has the potential to excel data-driven operationalisation of smart environments. However, limited research exists on how IoT-DA applications are designed, implemented, operationalised, and evolved in the context of software and system engineering life-cycle. This article empirically derives a framework that could be used to systematically investigate the role of software engineering (SE) processes and their underlying practices to engineer IoT-DA applications. First, using existing frameworks and taxonomies, we develop an evaluation framework to evaluate software processes, methods, and other artefacts of SE for IoT-DA. Secondly, we perform a systematic mapping study to qualitatively select 16 processes (from academic research and industrial solutions) of SE for IoT-DA. Thirdly, we apply our developed evaluation framework based on 17 distinct criterion (a.k.a. process activities) for fine-grained investigation of each of the 16 SE processes. Fourthly, we apply our proposed framework on a case study to demonstrate development of an IoT-DA healthcare application. Finally, we highlight key challenges, recommended practices, and the lessons learnt based on framework's support for process-centric software engineering of IoT-DA. The results of this research can facilitate researchers and practitioners to engineer emerging and next-generation of IoT-DA software applications.

SEFeb 21, 2021
Software Engineering for Internet of Things: The Practitioner's Perspective

Mahdi Fahmideh, Aakash Ahmed, Ali Behnaz et al.

Internet of Things based systems (IoT systems for short) are becoming increasingly popular across different industrial domains and their development is rapidly increasing to provide value-added services to end-users and citizens. Little research to date uncovers the core development process lifecycle needed for IoT systems, and thus software engineers find themselves unprepared and unfamiliar with this new genre of system development. To ameliorate this gap, we conducted a mixed quantitative and qualitative research study where we derived a conceptual process framework from the extant literature on IoT, that identifies 27 key tasks for incorporating into development processes for IoT systems. The framework was then validated by means of a survey of 127 IoT systems practitioners developers from 35 countries across 6 continents with 15 different industry backgrounds. Our research provides an understanding of the most important development process tasks and informs both software engineering practitioners and researchers of the challenges and recommendations related to the development of next generation of IoT systems.

SEApr 17, 2020
Criteria Based Evaluation Framework for Service Oriented Methodologies

Mahdi Fahmideh, Jafar Habibi, Fereidoon Shams et al.

Service Oriented Software Engineering is based on concepts and principles for constructing complex enterprise systems in which services as building block of the system, are distributed in large networks. The main goal of the service oriented methodologies is to define a process for development and maintenance of service based systems. Most of the Service Oriented methodologies are not mature enough compared with traditional software development methodologies such as Object Oriented or Component-Based. Hence, defining an evaluation framework will be useful for comparing methodologies for identifying their strengths and weaknesses, defining new methodologies or extending existing Service Oriented methodologies. At the time being, there is no complete evaluation framework for evaluating Service Oriented methodologies. The principal objective of this paper is to introduce a comprehensive evaluation framework for evaluating Service-Oriented methodologies. This evaluation tool is appropriate for methodology engineers to develop new methodologies, as well as project managers to select an appropriate methodology at a specific project.

SEApr 17, 2020
A Procedure for Extracting Software Development Process Patterns

Mahdi Fahmideh, Fereidoon Shams

Process patterns represent well-structured and successful recurring activities of Software Development Methodologies. They are able to form a library of reusable building blocks that can be utilized in Situational Method Engineering for constructing a custom SDM or enhancing an existing one to fit specific project situation. Recently, some researchers have subjectively extracted process patterns from existing SDMs based on cumulative experience in various domains; however, how to objectively extract process patterns from SDMs by adopting a systematic procedure has remained as question. In this regard, this paper is concerned with a procedure aiming to take process patterns out of existing SDMs. An example illustrates applicability of the proposed procedure for extracting process patterns in a specific context.

SEApr 17, 2020
Process Patterns for Service Oriented Development

Mahdi Fahmideh, Mohsen Sharifi, Fereidoon Shams et al.

Software systems development nowadays has moved towards dynamic composition of services that run on distributed infrastructures aligned with continuous changes in the system requirements. Consequently, software developers need to tailor project specific methodologies to fit their methodology requirements. Process patterns present a suitable solution by providing reusable method chunks of software development methodologies for constructing methodologies to fit specific requirements. In this paper, we propose a set of high-level service-oriented process patterns that can be used for constructing and enhancing situational service-oriented methodologies. We show how these patterns are used to construct a specific service-oriented methodology for the development of a sample system. Keywords. Service-Oriented Software Development Methodologies, Process Patterns, Process Meta-Model, Situational Method Engineering

SEApr 17, 2020
Toward a Methodological Knowledge for Service-Oriented Development Based on OPEN Meta Model

Mahdi Fahmideh, Fereidoon Shams

Situational method engineering uses a repository of reusable method fragments that are derived from existing software development methodologies and industrial best practices to simplify the construction of any project-specific software development methodology aligned with specific characteristics of a project at hand. In this respect, OPEN is a well-established, standardized and popular approach for situational method engineering. It has a large repository of reusable method fragments called OPF that method engineers can select and assemble them according to the requirements of a project to construct a new project-specific software development methodology. In this position paper, we present the basic concepts and foundations of OPEN and argue for an urgent need for new extensions to OPEN and its repository in support of service-oriented software development practices. Keywords: OPEN Process Framework, OPF Repository, OPEN Meta-Model, Situational Method Engineering, Method Fragments, Service-Oriented Software Development

SEApr 17, 2020
Enhancing the OPEN Process Framework with Service-Oriented Method Fragments

Mahdi Fahmideh, Mohsen Sharifi, Pooyan Jamshidi

Service-orientation is a promising paradigm that enables the engineering of large-scale distributed software systems using rigorous software development processes. The existing problem is that every service-oriented software development project often requires a customized development process that provides specific service-oriented software engineering tasks in support of requirements unique to that project. To resolve this problem and allow situational method engineering, we have defined a set of method fragments in support of the engineering of the project-specific service-oriented software development processes. We have derived the proposed method fragments from the recurring features of eleven prominent service-oriented software development methodologies using a systematic mining approach. We have added these new fragments to the repository of OPEN Process Framework to make them available to software engineers as reusable fragments using this well-known method repository. Keyword. Service-Oriented Software Development, OPEN Process Framework, OPF Repository, Method Fragment, Situational Method Engineering

SEApr 17, 2020
Cloud Migration Methodologies Preliminary Findings

Mahdi Fahmideh, Farhad Daneshgar, Fethi Rabhi

Research around cloud computing has largely been dedicated to ad-dressing technical aspects associated with utilizing cloud services, surveying critical success factors for the cloud adoption, and opinions about its impact on IT functions. Nevertheless, the aspect of process models for the cloud migration has been slow in pace. Several methodologies have been proposed by both aca-demia and industry for moving legacy applications to the cloud. This paper pre-sents a criteria-based appraisal of such existing methodologies. The results of the analysis highlight the strengths and weaknesses of these methodologies and can be used by cloud service consumers for comparing and selecting the most appropriate ones that fit specific migration scenarios. The paper also suggests research opportunities to improve the status quo. Keywords Cloud Migration; Legacy Applications; Cloud Migration Method-ology, Evaluation Framework

SEApr 17, 2020
Challenges in migrating legacy software systems to the cloud an empirical study

Mahdi Fahmideh, Farhad Daneshgar, Ghassan Beydoun et al.

Moving existing legacy systems to cloud platforms is a difficult and high cost process that may involve technical and non-technical resources and challenges. There is evidence that the lack of understanding and preparedness of cloud computing migration underpin many migration failures in achieving organisations goals. The main goal of this article is to identify the most important challenging activities for moving legacy systems to cloud platforms from a perspective of reengineering process. Through a combination of a bottom-up and a top-down analysis, a set of common activities is derived from the extant cloud computing literature. These are expressed as a model and are validated using a population of 104 shortlisted and randomly selected domain experts from different industry sectors. We used a Web-based survey questionnaire to collect data and analysed them using SPSS Sample T-Test. The results of this study highlight the most important and critical challenges that should be addressed by various roles within a legacy to cloud migration endeavour. The study provides an overall understanding of this process including common occurring activities, concerns and recommendations. In addition, the findings of this study constitute a practical guide to conduct this transition. This guide is platform agnostic and independent from any specific migration scenario, cloud platform, or an application domain. Keywords. Cloud Computing, Legacy Systems, Cloud Migration, Cloud Migration Process

SEApr 17, 2020
Cloud Migration Process A Survey Evaluation Framework and Open Challenges

Mahdi Fahmideh, Graham Low, Ghassan Beydoun et al.

Moving mission-oriented enterprise applications to cloud environments is a major IT strategic task and requires a systematic approach. The foci of this paper are to review and examine existing cloud migration approaches from the process models perspective. To this aim, an evaluation framework is proposed and used to analyse and compare existing approaches for highlighting their features, similarities, and key differences. The survey distills the state of the art in cloud migration research and makes a rich inventory of important activities, recommendations, techniques, and concerns that are commonly involved in the migration process in one place. This enables academia and practitioners in the cloud computing community to get an overarching view of the cloud migration process. Furthermore, the survey identifies a number challenges that have not been yet addressed by existing approaches, developing opportunities for further research endeavors.

SEApr 17, 2020
Reusing empirical knowledge during cloud computing adoption

Mahdi Fahmideh, Ghassan Beydoun

Moving legacy software systems to cloud platforms is an ever popular option. But, such an endeavour may not be hazard-free and demands a proper understanding of requirements and risks involved prior to taking any actions. The time is indeed ripe to undertake a realistic view of what migrating systems to the cloud may offer, an understanding of exceptional situations causing system quality goal failure, and insights on countermeasures. The cloud migration body of knowledge, although is useful, is dispersed over the current literature. It is hard for busy practitioners to digest, synthesize, and harness this body of knowledge into practice in a scenario of integrating legacy systems with cloud services. We address this issue by creating an innovative synergy between the approaches evidence-based software engineering and goal-oriented modelling. We develop an evidential repository of commonly occurred obstacles and platform agnostic resolution tactics related to making systems cloud-enabled. The repository is further utilized during the systematic goal-obstacle elaboration of given cloud migration scenarios. The applicability of the proposed framework is also demonstrated.

SEApr 17, 2020
IoT Smart City Architectures an Analytical Evaluation

Mahdi Fahmideh, Didar Zowghi

While several IoT architectures have been proposed for enabling smart city visions, not much work has been done to assess and compare these architectures. By applying our proposed evaluation framework that incorporates a variety of 33 criteria, this paper presents a comparative analysis of nine existing well-known IoT architectures. The results of the analysis highlight the strengths and weaknesses of these architectures and give insight to city leaders, architects, and developers aiming at selecting the most appropriate architecture or their combination that may fit their own specific smart city development scenario. Keywords. Internet of things, IoT, smart city architecture, evaluation framework

ROApr 17, 2020
A study of influential factors in designing self-reconfigurable robots for green manufacturing

Mahdi Fahmideh, Thorsten Lammers

There is incremental growth in adopting self-reconfigurable robots in automating manufacturing conventional product lines. Using this class of robots adapting themselves with ever-changing environmental conditions has been acclaimed as a promising way of reducing energy consumption and environmental impact and thus enabling green manufacturing. Whilst the majority of existing research focuses on highlighting the efficacy of self-reconfigurable robots in energy reduction with technical driven solutions, the research on exploring the salient factors in design and development self-reconfigurable robots that directly enable or hinder green manufacturing is non-extant. This interdisciplinary research contributes to the nascent body of the knowledge by empirical investigation of design-time, run-time, and hardware aspects which should be contingently balanced when developing green-aware self-reconfigurable robots. Keywords Green manufacturing, self-reconfigurable robots, robot design, green awareness

SEApr 17, 2020
Big data analytics architecture design

Mahdi Fahmideh, Ghassan Beydoun

Objective. We propose an approach to reason about goals, obstacles, and to select suitable big data solution architecture that satisfy quality goal preferences and constraints of stakeholders at the presence of the decision outcome uncertainty. The approach will highlight situations that may impede the goals. They will be assessed and resolved to generate complete requirements of an architectural solution. Method. The approach employs goal-oriented modelling to identify obstacles causing quality goal failure and their corresponding resolution tactics. It combines fuzzy logic to explore uncertainties in solution architectures and to find an optimal set of architectural decisions for the big data enablement process of manufacturing systems. Result. The approach brings two innovations to the state of the art of big data analytics platform adoption in manufacturing systems. Firstly, A systematic goal-oriented modelling for exploring goals and obstacles in integrating manufacturing systems with data analytics platforms at the requirement level and, secondly, A systematic analysis of the architectural decisions under uncertainty incorporating the preferences of stakeholders. The efficacy of the approach is illustrated with a scenario of reengineering a hyper-connected manufacturing collaboration system to a new big data architecture. Keywords. big data, big data analytics platforms, manufacturing systems, goal-oriented modeling, fuzzy logic

SEApr 17, 2020
An Exploration of IoT Platform Development

Mahdi Fahmideh, Didar Zowghi

Internet of Things platforms are key enablers for smart city initiatives, targeting the improvement of citizens quality of life and economic growth. As IoT platforms are dynamic, proactive, and heterogeneous socio-technical artefacts, systematic approaches are required for their development. Limited surveys have exclusively explored how IoT platforms are developed and maintained from the perspective of information system development process lifecycle. In this paper, we present a detailed analysis of 63 approaches. This is accomplished by proposing an evaluation framework as a cornerstone to highlight the characteristics, strengths, and weaknesses of these approaches. The survey results not only provide insights of empirical findings, recommendations, and mechanisms for the development of quality aware IoT platforms, but also identify important issues and gaps that need to be addressed.

DCApr 16, 2020
Experiential probabilistic assessment of cloud services

Mahdi Fahmideh, Ghassan Beydoun, Graham Low

Substantial difficulties in adopting cloud services are often encountered during upgrades of existing software systems. A reliable early stage analysis can facilitate an informed decision process of moving systems to cloud platforms. It can also mitigate risks against system quality goals. Towards this, we propose an interactive goal reasoning approach which is supported by a probabilistic layer for the precise analysis of cloud migration risks to improve the reliability of risk control. The approach is illustrated using a commercial scenario of integrating a digital document processing system to Microsoft Azure cloud platform.