Hafedh Mili

Hafedh Mili
Université du Québec à Montréal | UQAM · Department of Computer Science

PhD
Research on business modelling, application modernization, design of context-aware applications in e-commerce & e-health

About

200
Publications
48,440
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
4,367
Citations
Introduction
Hafedh Mili is a full professor at the Department of Computer Science, Université du Québec à Montréal, where he leads the LATECE laboratory (www.latece.uqam.ca) doing research on IT and business aspects of internet-mediated applications. Hafedh does research in soft. eng. methodologies, tools, languages and business applications. Current projects include: 1) reengineering of recent legacy application, 2) software development frameworks for customer experience management, and 3) IoT applications to health and business. He published two books on software reuse (Reuse-Based Soft. Eng., Wiley, 2001, https://dl.acm.org/citation.cfm?id=504675), and business rules (Agile Business Rule Development, Springer 2011, https://www.springer.com/us/book/9783642190407) and over 140 refereed publications.

Publications

Publications (200)
Preprint
Full-text available
The Open Source Software movement has been growing exponentially for a number of years with no signs of slowing. Driving this growth is the widespread availability of libraries and frameworks that provide many functionalities. Developers are saving time and money incorporating this functionality into their applications resulting in faster more feat...
Article
Full-text available
Customer experience management (CXM) denotes a set of practices, processes, and tools, that aim at personalizing a customer's interactions with a company around the customer's needs and desires \cite{Walker2011}. The past few years have seen the emergence of a new generation of context-aware CXM applications that exploit the IoT, AI, and cloud comp...
Preprint
Full-text available
Architectural reconstruction is a reverse engineering activity aiming at recovering the missing decisions on a system. It can help identify the components, within a legacy software application, according to the application's architectural pattern. It is useful to identify architectural technical debt. We are interested in identifying layers within...
Conference Paper
Customer experience management (CEM) denotes a set of practices, processes, and tools that aim to personalise a customer’s interactions with a company, throughout a purchasing process, around the customer’s needs and desires. The customer journey is the process by which a customer interacts with a company to achieve a goal. The complexity of the pu...
Preprint
Full-text available
Aspect-oriented software development builds upon object-oriented development by offering additional abstraction boundaries that help us separate different types of requirements into so-called aspects. Given a legacy OO application, it pays to identify existing aspects to help understand the structure of the application and potentially to extract th...
Chapter
Full-text available
A common strategy for modernizing legacy systems is to migrate them to service-oriented architecture (SOA). A key step in the migration process is the identification of reusable functionalities in the system that qualify as candidate services in the target architecture. We propose ServiceMiner, a bottom-up service identification approach that relie...
Conference Paper
Customer experience management (CXM) denotes a set of practices, processes, and tools, that aim at personalizing a customer’s interactions with a company around the customer’s needs and desires. Marketing specialists have been imagining context-aware CXM applications that exploit the IoT, AI, and cloud computing to provide rich and personalized cus...
Article
The success of modernizing legacy software systems to Service-Oriented Architecture (SOA) depends on Service Identification Approaches (SIAs), which identify reusable functionalities that could become services. The literature describes several SIAs. However, the selection of an identification approach that is suitable for a practitioner is difficul...
Conference Paper
Full-text available
A common strategy for modernizing legacy systems is to migrate them to service-oriented architecture (SOA). A key step in the migration process is the identification of reusable functionalities in the system that qualify as candidate services in the target architecture. We propose ServiceMiner, a bottom-up service identification approach that relie...
Article
Full-text available
Safety-critical systems are highly heterogeneous, combining different characteristics. Effectively designing such systems requires a complex modelling approach that deals with diverse components (e.g., mechanical, electronic, software)-each having its own underlying domain theories and vocabularies-as well as with various aspects of the same compon...
Chapter
Organizations build information systems to support their business processes. Today’s business processes often cross the organizations’ boundaries and become increasingly complex. Therefore, information systems that automate these business processes must take into account collaborative and complex scenarios involving distributed partners. Designing...
Conference Paper
Full-text available
Robotic Process Automation (RPA) is a new technology that uses software robots to perform certain tasks in business processes. These robots mimic how humans use software systems when performing repetitive tasks with “robotic” precision, thereby limiting errors and improving efficiency. RPA provides many benefits including increased productivity, be...
Book
This book constitutes the proceedings of the 19th International Conference on Software and Systems Reuse, ICSR 2020, held in Hammamet, Tunesia in December 2020. Due to COVID-19 pandemic the Conference was held virtually. The 16 full papers and 2 short papers included in this book were carefully reviewed and selected from 60 submissions. The papers...
Conference Paper
Full-text available
A recommendation system is an automated tool that suggests an ordered list of appropriate items to a user. In this paper, we propose a recommendation algorithm that takes into account the variable and complex semantics of multi-valued properties, and the level of uncertainty or fuzziness inherent in the representations of users and items. In partic...
Preprint
Full-text available
Identifying dependency call graphs of multilanguage software systems using static code analysis is challenging. The different languages used in developing today's systems often have different lexical, syntactical, and semantic rules that make thorough analysis difficult. Also, they offer different modularization and dependency mechanisms, both with...
Preprint
Full-text available
Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoked remotely, and (3) are packaged to decouple potential callers from their implementation technology. As such, it enables organizations to develop quality applications fas...
Conference Paper
Full-text available
J2EE applications tend to be multi-tier and multi-language applications. They rely on the J2EE platform and containers that offer infrastructure and architectural services to ensure distributed, secure, safe, and scalable executions. These mechanisms hide many program dependencies, which helps development but hinders maintenance, evolution, and re-...
Article
Full-text available
Today’s business processes become increasingly complex and often cross the boundaries of the organizations. On the one hand, to support their business processes, modern organizations use enterprise information systems that need to be aware of the organizations’ processes and contexts. Such systems are called Process-Aware Information System (PAIS)....
Chapter
Full-text available
The migration of legacy software systems to Service Oriented Architectures (SOA) has become a mainstream trend for modernizing enterprise software systems. A key step in SOA migration is the identification of services in the target application, but it is a challenging one to the extent that the potential services (1) embody reusable functionalities...
Article
We present a case study in model‐driven development of an e‐tourism portal that we chose to develop through generation from a domain model encoded as an ontology. We present (1) the requirements of e‐tourism portal, which dictated its high‐level design; (2) the principles behind our implementation strategy, including the use of a domain ontology as...
Poster
Full-text available
La gestion de l’expérience client (CEM) désigne l’ensemble des pratiques, des processus et des outils qui visent à personnaliser les interactions du client avec l’entreprise autour des besoins et des désirs du client. Cette personnalisation dépend du processus d'achat entrepris et de la quantité d'informations que détient l'entreprise sur ses clien...
Technical Report
Full-text available
Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoked remotely, and (3) are packaged to decouple potential callers from their implementation technology. As such, it enables organizations to develop quality applications fas...
Conference Paper
Context comprises everything in the environment that affects a system’s structure and behavior. Self-adaptive systems aim to evaluate and to adjust itself in response to context changes. Developing self-adaptive systems is a challenging problem in component-based software engineering. This paper presents a formal model and framework for component-b...
Conference Paper
Full-text available
Context-aware¹ systems have been employed to help users in their daily lives. In the recent years, researchers are exploring how context aware systems can benefit humanity through assisting patients, specifically those who suffer incurable diseases, to cope with their illness. In this paper, we direct our work to help people who suffer from COPD. E...
Conference Paper
Full-text available
Medicine and especially chronic diseases, like everything else on earth is filled with ambiguity. This is why, identifying patients at risk present a big challenge to human brain. Poor control and misdiagnosis of chronic diseases has a great impact quality of life of patients, the expenses and performance of health care system. The global economic...
Technical Report
Full-text available
Java Enterprise Edition (JEE) applications are implemented in terms of a set of components developed based on several JEE technologies including , but not limited to, Servlet, JSP, JSF, EJB, JavaBeans. These JEE technologies rely on a varied set of communication mechanisms to communicate between each others. Examples of these communication mechanis...
Technical Report
Full-text available
JSP custom tag libraries aim to improve the code reusability and quality. However, the use of custom tag libraries makes analyzing program dependencies difficult for several reasons. We identified five reasons that are: (1) we need to visit and to parse several files that have different syntaxes to understand the semantic of each custom tag, (2) im...
Technical Report
Full-text available
In this paper, we propose a program slicing approach for the output stream object in JEE applications. Our approach is based on extracting a dependency call graph from KDM models of JEE applications. Then, it applies breath-first search algorithm to identify the program slice as a graph reachability problem. The proposed approach is implemented as...
Technical Report
Full-text available
In this paper, we answer a set of research questions that are required to develop service identification approach based on the analysis of object-oriented software. Such research questions are: (1) what is a service, (2) how are services different from software components, (3) what are types of services, (4) what are existing service identification...
Technical Report
Full-text available
In this report, we propose our approach that identifies a KDM model of JSP pages. Our approach is based on two main steps. The first one aims to reduce the problem space by translating JSP pages into Java Servlets where we can use existing tools to identify a KDM model. The second step aims to complete the resulting KDM model by identifying depende...
Conference Paper
Full-text available
The migration of legacy software systems to Service Oriented Architecture (SOA) is a challenging task. On the one hand, legacy software systems, by their very definition, have architecture, design, and implementation problems. On the other hand, SOA is different from legacy architectures. One of the main challenges in modernizing legacy software sy...
Conference Paper
Full-text available
Business Process Model and Notation (BPMN) is becoming a de-facto standard for the specification of organizational business processes. In most cases, business processes are modeled in order to build software that may support or automate specific parts of those processes. In this work, we aim at refining BPMN models in order to automatically derive...
Article
Organizations build information systems to support their business processes. Precise modeling of an organization’s processes is a prerequisite for building information systems that support those processes. Our goal is to help business analysts produce detailed models of the business processes that best reflect the needs of their organizations. To t...
Article
Business models are economic models that describe the rationale of why organizations create and deliver value. These models focus on what organizations offer and why. Business process models capture business activities and the ways in which they are accomplished (i.e. their coordination). They explain who is involved in the activities, and how and...
Conference Paper
The development of context-aware applications is a complex process that involves context management. A context life cycle implies 4 essential steps: context acquisition, context modeling, context reasoning and context dissemination [1]. In [2], we tackled the issue of context modeling and reasoning by proposing an approach based on Relational Conce...
Conference Paper
As the notion of context-awareness evolves in different paradigms, the development of context-aware systems involves several processes. These processes include, inter alia, context modeling and reasoning as well as adaptation. In [1], we presented an approach that consists of context modeling and reasoning hand in hand based on relational concept a...
Conference Paper
In nowadays organizations, electronic services are used as the cornerstones for automating business processes. However, it is difficult to derive such services from business process models. This paper aims to bridge the gap between the business processes of the organizations and the service-based software applications that support them. It proposes...
Conference Paper
In nowadays organizations, electronic services are used as the cornerstones for automating business processes. However, it is difficult to derive such services from business process models. This paper aims to bridge the gap between the business processes of the organizations and the service-based software applications that support them. It proposes...
Chapter
Full-text available
Customer experience management (CEM) denotes a set of practices, processes, and tools, that aim at personalizing customer’s interactions with a company according to customer’s needs and desires (Weijters et al., J Serv Res 10(1):3–21, 2007 [29]). E-business specialists have long realized the potential of ubiquitous computing to develop context-awar...
Conference Paper
Full-text available
Flexible processes emerged to provide flexibility to business process execution. A flexible process is not static and can have several different executions, that is influenced by the current situation. In this context, the decision-making is placed in the hands of any knowledge worker during the execution, who decides which tasks and in which order...
Conference Paper
Full-text available
Software architecture recovery is a bottom-up process that aims at building high-level views that support the understanding of existing software applications. Many approaches have been proposed to support architecture recovery using various techniques. However, very few approaches are driven by the architectural styles that were used to build the s...
Conference Paper
Full-text available
Business process design is an important activity for the planning and analysis of information systems that support the organization’s business processes. Our goal is to help business analysts produce detailed models of the business processes that best reflect the needs of their organizations. To this end, we propose to, a) leverage the best practic...
Conference Paper
Full-text available
Business process compensation is an error recovery strategy aiming at semantically reversing the effects of an interrupted business process execution and restoring it to a valid state. Studies have shown that modeling error handling in general, and compensation in particular, represents the bulk of process design efforts. To that end, we proposed i...
Book
This book constitutes the refereed proceedings of the 6th International Conference on E-Technologies, MCETECH 2015, held in Montréal, Canada, in May 2015. The 18 papers presented in this volume were carefully reviewed and selected from 42 submissions. They have been organized in topical sections on process adaptation; legal issues; social computing...
Conference Paper
Full-text available
Companies model their business processes either for docu-mentation, analysis, re-engineering or automation purposes; usually us-ing normalized business process modeling languages such as EPC or BPMN. Although these models explain how the processes should be per-formed and by whom, they abstract away their business rationale (i.e. what is offered an...
Conference Paper
Full-text available
Organizations build information systems to support their business processes. Some of these business processes are industry or organization-specific, but most are common to many industries and are used as is, modulo a few modifications. Our work tries to capitalize on these similarities to develop a methodology and tools that help business analysts...
Article
Full-text available
Recovering the architecture of existing software systems remains a challenge and an active research field in software engineering. In this paper, we propose an approach to recover the layered architecture of object oriented software systems. To do so, our approach first recovers clusters corresponding to the various responsibilities of the system;...
Conference Paper
Forward by MRI-BP Organizers
Conference Paper
Full-text available
A typical e-business transaction takes hours or days to complete, involves a number of partners, and comprises many failure points. With short-lived transactions, database systems ensure atomicity by either committing all of the elements of the transaction, or by canceling all of them in case of a failure. With typical e-business transactions, stri...
Conference Paper
Full-text available
In this paper we present an approach to reconstruct the layered architecture of software systems. We revisit the layered architectural style to extract a minimum set of fundamental principles. These principles are used to specify a set of constraints that a layered system must conform to. Recovering the layered architecture of a system is then tran...