Ferhat KhendekConcordia University · Department of Electrical and Computer Engineering
Ferhat Khendek
Doctor of Philosophy
NSERC/Ericsson IRC in Model Based Software Management
About
225
Publications
62,202
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,686
Citations
Introduction
Additional affiliations
September 1994 - present
Publications
Publications (225)
In the context of Network Function Virtualization (NFV), Network Services (NS) are realized by interconnecting Virtual Network Functions (VNF) using Virtual Links (VL). Service dependability is an important characteristic of NSs. Service dependability includes service availability, reliability, and continuity attributes. The NFV framework brings ne...
Software testing plays a crucial role in enhancing software quality. A significant portion of the time and cost in software development is dedicated to testing. Automation, particularly in generating test cases, can greatly reduce the cost. Model-based testing aims at generating automatically test cases from models. Several model based approaches u...
The Network Function Virtualization (NFV) framework is an enabler for the automation of Network Service (NS) management. In the context of NFV, an NS is realized by interconnecting Virtual Network Functions (VNF) using Virtual Links (VL). Availability and continuity are among the important characteristics of an NS. These characteristics depend on t...
Software testing plays a crucial role in enhancing software quality. A significant portion of the time and cost in software development is dedicated to testing. Automation, particularly in generating test cases, can greatly reduce the cost. Model-based testing aims at generating automatically test cases from models. Several model based approaches u...
The Internet of Things (IoT) enables connectivity among physical world objects to empower multitudes of applications in different domains. This type of large-scale connectivity and distribution comes with several functional and non-functional challenges. These challenges may be addressed by software architectures and techniques. Microservices is on...
Live testing is performed in the production environment ideally without causing unacceptable disturbance to the production traffic. Thus, test activities have to be orchestrated properly to avoid test interferences with the production traffic. A test plan is the road map that specifies how the test activities need to be orchestrated. Developing a t...
A system configuration may be modified at runtime to adapt the system to changes in its environment or for fine-tuning. For instance, a system administrator may change a few entities/attributes in the configuration to improve error recovery and system availability. However, these changes focusing on fine-tuning availability may violate some global...
In the context of Network Function Virtualization (NFV), a network service (NS) is defined as a composition of Network Functions (NFs), which can be Virtual Network Functions (VNFs) or Physical Network Functions (PNFs). The availability of an NS is among its important characteristics. Moreover, when there is a service outage there is often a servic...
An Infrastructure as a Service (IaaS) cloud provider is committed to each tenant by a service level agreement (SLA) which indicates the terms of commitment, e.g. the level of availability of the IaaS cloud service.The different resources providing this IaaS cloud service may need to be upgraded several times throughout their life-cycle; and these u...
The architectural style of microservices has been gaining popularity in recent years. In this architectural style, small and loosely coupled modules are deployed and scaled independently to compose cloud-native applications. Carrier-grade service providers are migrating their legacy applications to a microservice based architecture running on Kuber...
For management purposes, the sub-systems of a system are generally described through various configurations, each fragment focusing on a specific sub-system, e.g., platform, middleware, etc. To form a consistent system configuration, these independently developed configurations, also known as partial configurations or configuration fragments, need...
The architectural style of microservices has been gaining popularity in recent years. In this architectural style, small and loosely coupled modules are deployed and scaled independently to compose cloud-native applications. Carrier-grade service providers are migrating their legacy applications to a microservice based architecture running on Kuber...
Service providers use cloud to reduce the cost of their services and speed up their time to market. There is a huge gap between the environment where the services are developed and first tested, and the environment where they operate. Live testing is defined as testing a service in its production environment without causing any intolerable disrupti...
The network functions virtualization (NFV) advent is making way for the rapid deployment of network services (NS) for telecoms. Automation of network service management is one of the main challenges currently faced by the NFV community. Explicitly defining a process for the design, deployment, and management of network services and automating it is...
The Network Functions Virtualization (NFV) advent is making way for the rapid deployment of network services (NS) for telecoms. Automation of network service management is one of the main challenges currently faced by the NFV community. Explicitly defining a process for the design, deployment, and management of network services and automating it is...
The Network Functions Virtualization (NFV) paradigm is heading towards an evolution with the recent zero-touch automation initiative. In particular, automating the orchestration and management of network services (NS) could progress rapidly with the help of model-driven engineering methods and tools. We have earlier proposed an integrated process m...
The move towards the microservice based architecture is well underway. In this architectural style, small and loosely coupled modules are developed, deployed, and scaled independently to compose cloud-native applications. However, for carrier-grade service providers to migrate to the microservices architectural style, availability remains a concern...
High availability of services is an important requirement for mission-critical systems. The Service Availability Forum has defined standards to support the realization of high available systems. Among these standards, the Availability Management Framework (AMF) is perhaps the most important one. AMF is a middleware service that coordinates redundan...
Domain-specific modelling with domain-specific languages (DSL) is rapidly gaining popularity in both research and industry for representing models of a target domain. However for a broader adoption, MDE tools need to provide adequate support for building these DSLs as well as for using the DSLs.
We have been using the Papyrus modelling tool for dom...
Service Providers¹ aim at optimizing resource utilisation while respecting the Service Level Agreements (SLAs) entered with customers. Dynamic reconfiguration is a mechanism for rearranging, allocating and deallocating resources as workload varies. Rearranging, adding or deallocating resources are performed by actions according to elasticity rules...
Several test generation techniques have been proposed in the literature. These techniques target separately specific levels of testing without relating them to each other in order to avoid redundancy and enable reuse and optimization. In this chapter, we look into connecting different levels of testing. We propose a model-based testing framework th...
The development of the Network Functions Virtualisation (NFV) paradigm has made way for the rapid deployment and management of network services. The European Telecommunications Standards Institute (ETSI) has been actively defining the NFV framework, which includes functional blocks and artifacts at different levels of abstraction. As part of the ar...
Highly available applications undergo upgrades like any software system. Because of the high availability requirement, such applications cannot be taken offline for performing the upgrade and then put back into service. The upgrade has to be performed while the application is providing services, and it has to avoid service outage as much as possibl...
Configuration fragments developed separately and focusing on different aspects, such as availability, security or performance of a system need to be integrated into a consistent system configuration to avoid system malfunctions. The main challenges of such integration are due to the overlapping entities and the integration relations between the ent...
Elasticity is a key feature in the cloud while High-Availability (HA) is one of the challenges. Recently, an architecture has been proposed for managing HA in the cloud using the SA Forum middleware and an Elasticity Engine for triggering resource provisioning and de-provisioning at the application level while preserving HA. This Elasticity Engine...
: Service availability is an important quality factor that distinguishes between providers. High availability is achieved when the service is available at least 99.999% of the time. The Service Availability Forum has defined several middleware services, among them the Availability Management Framework (AMF) aims at ensuring the high availability of...
Availability is a non-functional requirement defined as the percentage of time a system or a service is accessible. This percentage determines the acceptable total outage time for any given period. High-Availability (HA) is a stringent requirement which allows for a maximum of approximately five minutes downtime in a year including outage due to sc...
Graphical notations designed by committees in the context of standardization bodies, like Object Management Group (OMG), are widely used in the industry and academia. Naive users of these notations have limited background on visualization, documentation and specification of workflows, data or software systems. Several studies have pointed out the f...
A Service Level Agreement (SLA) is a contract between a service provider and a customer that defines the expected quality of the provided services, the responsibilities of each party, and the penalties in case of violations. In the cloud environment where elasticity is an inherent characteristic, a service provider can cater for workload changes an...
For critical systems, providing services with minimal interruption is essential. Availability Management Framework (AMF), defined by SA Forum for managing highly-available applications, requires configurations of applications consisting of various entities organized according to AMF-specific rules and constraints. Creating such configurations is di...
Social Networks (SNs) are becoming more and more popular. Individuals are now more connected than ever before. They share information with their family, friends and colleagues. However, sharing physical phenomena in SNs is still a manual process done by people themselves. The automated sharing of ambient information in SNs can promote independent l...
A complex system configuration often consists of different fragments developed separately and integrated later to relate them in a consistent manner. The integration process follows certain rules, which relate the elements from the different fragments and ensure certain properties for the complete system configuration. In this paper we propose a mo...
Cloud computing is a popular paradigm for providing computational services. Cloud computing frameworks offer cost efficiency, better resource utilization and scalability. Availability remains as one of the main challenges for the cloud. Solutions, such as Heat, have been proposed and integrated with cloud controllers like Open Stack. These solution...
To meet user requirements, Commercial-off-the-Shelf (COTS) component based systems are built by integrating different components potentially provided by different vendors. The gap between the user requirements, related to the overall system, and the available components can be large. Thus the selection of appropriate components for building the sys...
Elasticity and availability are two features associated with the cloud. Existing solutions focus on providing both at the level of the virtual infrastructure through virtual machines (VMs), their restart, addition, and removal as needed. These assume a specific application design paradigm, which equates the application and its workload to the VM. H...
The Cloud is a new computing paradigm for providing computing services. It has many benefits such as cost efficiency, better resource utilization and scalability. However, critical businesses (e.g. telecommunication industry) have major concerns about the availability of their services in the Cloud. Different availability solutions can be used for...
Test case generation and execution may be time and effort consuming. At a given testing phase, test case execution can be optimized by avoiding the consideration of test cases that have already been exercised in a previous phase. For instance, one can avoid test case redundancy between integration testing and acceptance testing. Characterizing this...
Social Networks (SNs), such as Facebook, Twitter and LinkedIn, have become ubiquitous in our daily life. However, as the number of SN users grows there is higher demand for users' Quality of Experience (QoE). Some users may prefer to subscribe to a higher Quality of Service (QoS) level with their SN provider, e.g. to have higher priority on posting...
The design of configurations for high availability management is a complex and error prone task. Automation of the process is a first step towards improving the quality of such configurations and for exploring the different potential solutions for a given set of requirements. An automated approach for configuration generation for applications deplo...
To meet user requirements, Commercial-off-the-Shelf (COTS) component based systems are built by integrating different components potentially provided by different vendors. The gap between the user requirements, related to the overall system, and the available components could be very large. Thus the selection of appropriate components for building...
High-Availability requires hardware and software redundancy. Virtualization is a technique - among others - for improving the utilization of hardware resources by making virtual (rather than actual) versions of hardware, operating system, etc. and collocating them on the same hardware. In virtualized environments virtual machines (VMs) are used for...
A method and system for generating an Availability Management Framework (AMF) configuration based on a model driven approach. The AMF configuration is an instance of an AMF sub-profile that can be used to model resources and services to be protected, and is generated from an instance of the Entity Type Files (ETF) sub-profile and an instance of the...
A method and system for generating an Availability Management Framework (AMF) configuration based on a model driven approach. The AMF configuration is an instance of an AMF sub-profile that can be used to model resources and services to be protected, and is generated from an instance of the Entity Type Files (ETF) sub-profile and an instance of the...
Disaster response systems (DRSs) assist responders by providing a wide range of services. These services are usually implemented as distributed applications (overlays) capable of operating in an infrastructure-less underlying network such as MANETs. However, all the services in DRSs may not be equally critical. For instance, the communication betwe...
An Availability Management Framework (AMF) configuration describes how configuration entities of a highly available system are grouped and includes information on service provision and service protection policies against resource failure. The AMF configuration defines a set of failure types for each component and each node, and specifies a failure...
Configuration requirements for an Availability Management Framework (AMF) configuration are generated from high level user requirements that specify a subset of properties of an AMF configuration. The user requirements are first mapped into entity prototypes defined in an extended Entity Types File (ETF) model. A computer system identifies addition...
The need for companion robots is growing with the dual factors of an aging population and the limited infrastructure/social support. Robots capable of assisting people in daily tasks and providing various services represent part of the solution for the future. The lack of reusable platforms is a significant obstacle to such solutions. In this paper...
Highly available systems undergo upgrades like any other systems but with a more stringent requirement of no or very limited service outage. Unforeseen violations of software dependencies are the main causes of service outage during upgrade. We investigate the problem in the case of component based systems, more specifically systems managed by an S...
A configuration including Service Instances (SIs) and a list of Service Units (SUs) is to be validated. The SIs are to be allocated to the SUs for protection of the service represented by the SIs. A set of heuristics is applied to determine whether, for each of the SI assignments, the SI can be allocated to one of the SUs whose capacities support t...
Highly available systems are fault tolerant systems with no single point of failure. Thus the failure of a system component does not imply the outage of the service (i.e. the functionality) provided by the component. This is achieved by deploying redundant components that resume the service provisioning in case of failure. These redundant component...
Cloud services are becoming one of the most popular means of delivering computational services to users who demand services with higher availability. Virtualization is one of the key enablers of the cloud infrastructure. Availability of the virtual machines along with the availability of the hosted software components are the fundamental ingredient...
The high availability requirement for services does not allow for more than five minutes of down time per year including downtime scheduled for maintenance and upgrades. The upgrade of applications providing such services is challenging and has to be planned very carefully. The challenge becomes even bigger when it comes to the upgrade of the under...
Over the last decade several model merging approaches have been proposed. Most of these approaches focused on version control systems. We are interested in merging test models. We present a merging approach to reconcile unit test models and generate integration test models using the UML Testing Profile.
User Interface (UI) development methods are poorly integrated with standard software engineering practice. The differences in terms of artifacts involved, development philosophies, and lifecycles can often result in inconsistent system and UI specifications leading to duplication of effort and increased maintenance costs. To address such shortcomin...
Disaster response systems improve the situational awareness of responders and assist them by providing a wide range of services including communications, sensing/actuating and data collection and processing. The services are hosted on various types of devices such as laptops, PDAs, sensors and actuators that usually are interconnected through a mob...
Service availability is an important aspect of service provisioning. To ensure end-to-end quality, system integrators need to build systems that satisfy quality of service requirements including high-availability. By using specialized middleware, system integrators can incorporate high availability features into their applications, thus rendering t...
This book constitutes the refereed proceedings of the 16th System Design Languages Forum, SDL 2013, held in Montreal, QC, Canada, in June 2013. The 16 revised, high-quality, full papers presented were carefully reviewed and selected from 30 submissions. The papers are organized in topical sections on verification and testing; dependability engineer...
Open Mobile Alliance RESTful location services are standard RESTful web services for terminal location. They are location technology independent, and enable applications' portability and interoperability. Wireless sensors are electronic devices that can sense context: space, environment, and physiology. Location is a key element of space context in...
The need for highly available services is ever increasing in various domains ranging from mission‐critical systems to transaction‐based ones such as banking. The Service Availability Forum has defined a set of services and related API specifications to address the growing need of commercial off‐the‐shelf high availability solutions. Among these ser...
Integration testing checks for compatibility and interoperability between the components in the system. Integration test models are, typically, generated independently from the other testing level models. In our research, we aim at a model-based framework across unit, integration, and acceptance level testing. This paper contributes to this framewo...
High availability is a key ingredient in the design of mission critical and revenue generating software applications. With the release of the Service Availability Forum specifications, the availability of these applications can be managed by standardized middleware. Such middleware is capable of detecting and reacting to the application's component...
Open Mobile Alliance (OMA) RESTful location services are standard RESTful Web services for terminal location. They are location technology-independent and enable applications' portability and interoperability. Wireless sensors are electronic devices that can sense context: space, environment and physiology. Location is a key element of space contex...
Our society increasingly depends on computer-based systems; the number of applications deployed has increased dramatically in recent years and this trend is accelerating. Many of these applications are expected to provide their services continuously. The Service Availability Forum has recognized this need and developed a set of specifications to he...
This chapter presents a high level overview of the relevant formal modeling techniques and the prerequisites the SA Forum specifications offer to enable their application. It discusses in more details the approaches one may want to take to resolve the issues at hand. The chapter references work that has been done in the MAGIC (Modeling and Automati...
Web services enable application-to-application interactions over networks. They have functional, behavioral, non-functional, and semantic characteristics. Web service composition is the mechanism for combining and reusing existing Web services to create new Web services. In this paper, we propose a novel architecture for Web service composition. Th...