Mathematics (Faculty of)
Permanent URI for this communityhttps://uwspace.uwaterloo.ca/handle/10012/9924
Welcome to the Faculty of Mathematics community.
This community and it’s collections are organized using the University of Waterloo's Faculties and Academics structure. In this structure:
- Communities are Faculties or Affiliated Institutions
- Collections are Departments or Research Centres
Research outputs are organized by type (eg. Master Thesis, Article, Conference Paper).
New collections following this structure will be created UPON REQUEST.
Browse
Browsing Mathematics (Faculty of) by Author "Alencar, Paulo"
Now showing 1 - 8 of 8
- Results Per Page
- Sort Options
Item Adaptive Human-Chatbot Interactions: Contextual Factors, Variability Design and Levels of Automation(University of Waterloo, 2023-12-05) Melo dos Santos, Glaucia; Alencar, Paulo; Berry, Daniel; Cowan, DonaldThe landscape of software development is undergoing a significant transformation characterized by various factors. A notable shift is the surging demand for software developers, driven by industries' increasing reliance on software solutions to support their operations. This increased demand is accompanied by an escalation in the complexity of software development projects. In this dynamic environment, modern software systems interact with numerous external systems, interfaces, data sources, and work practices. This complexity requires developers to navigate a complex environment while creating software. Adding to this landscape is the emergence of AI-based conversational systems, a transformative trend that is shaping software development processes. These systems, powered by artificial intelligence and natural language processing, enable human-like interactions through chatbots and virtual assistants. Software developers are increasingly turning to AI-powered chatbots to support their work. These chatbots play diverse roles, ranging from technical query resolution or load testing to providing project management insights and automating routine tasks. By harnessing the capabilities of these AI-driven tools, developers can potentially enhance productivity, access pertinent information swiftly, and optimize their workflows. However, amid these developments, many challenges arise due to the intricate web of contextual factors that influence software development processes, especially when chatbots come into play. These contextual factors act as distinct pieces of a puzzle, each altering how software development functions in the presence of chatbots. Unfortunately, the existing research landscape has a limited understanding of these contextual intricacies, resulting in insufficient design methods to adequately support developers using chatbots. Moreover, addressing the customization of automation levels in these interactions remains unexplored. With the growing complexity of software development, coupled with the emergence of advanced, AI-based conversational systems, the integration of chatbots to support developers in their work has become prominent. There is a pressing need to address the challenges in human-chatbot interactions, particularly in leveraging conversational agents’ advances to tailor interactions to developers’ specific contexts and desired levels of automation. This research explores the design of context-based adaptive interactions between software developers and chatbots. By understanding and integrating the contextual factors that influence software development with chatbots, we aim to gain novel insights into developers’ expectations regarding these interactions and the levels of automation involved and advance the design of human-chatbot adaptive applications. First, I perform a user study to investigate the requirements of conversational agents in software development. I uncovered a vast list of desired requirements and insights from participants, including that they are interested in working with such tools, in various parts of the development lifecycle such as managing their tasks and version control. One of the insights of this study was that contrary to the authors' beliefs, not all developers were interested in automating all possible tasks. This insight led me to the next part of this thesis, which was the investigation of the factors that influence how much automation is desired in systems. I then perform a literature review focused on studies about taxonomies of levels of automation. I aimed to uncover from these studies, the factors that influence systems switching from one level of automation to a different level. I identified these factors and composed a list of 61 factors, which we divided into five categories, system, task, human, environment, and quality. I propose feature model designs to represent these factors and their relationships and instantiate this model with use cases. This research provides a roadmap for the design of adaptive chatbot interactions that align with developers' specific needs and workflows. Empirical studies are conducted to gain insights from developers' experiences and expectations, ultimately driving the design of context-aware chatbot interactions. Additionally, by examining the influence of varying levels of automation on these interactions, I sought to identify factors that shape the variability of automation levels, bridging the gap between human-system interactions and autonomous systems.Item Design and Validation of a Context-Aware Publish-Subscribe Model(University of Waterloo, 2015-12-21) Kumar, Akshat; Alencar, Paulo; Berry, DanielA system is said to be context-aware if it can extract, interpret and use contextual information to adapt its functionality and enhance its utility. Context awareness allows the application to gain sensitivity for many environmental parameters that are beyond the reach of conventional systems. Human factors related to context include information about the user (knowledge of habits, emotional state), the user’s social environment (co-location of others, social interaction, group dynamics), and the user’s tasks (spontaneous activity, engaged tasks, general goals). With access to this contextual information, there are many exciting possibilities for applications involving direct human interaction. Software modelling is one of the first steps in the life cycle of a software system. Software models can lead to the discovery of errors in a system, which is useful as the early discovery of such flaws can enable the designers to update the inexpensive system model. By not using system models before the development of the full scale system, we risk the discovery of major problems later on in the life cycle, which will be more expensive to fix. Validation of any software system is an essential part of the development life cycle. The validation of context-aware systems is especially challenging as the input range of the system is loosely defined. But despite this it is very important to validate context-aware systems thoroughly because it is possible that a subset of possible inputs to the system can be part of a failure-critical user interaction. Modeling and validation are important activities in the development or enhancement of all software systems. While software modelling helps check the properties of the systems before actual development, software validation is essential for ensuring the quality of the software based on the original software requirements. This thesis focuses on the modeling and the validation of formal case study design models for context-aware systems based on the event based and publish-subscribe pattern. The study validates formal case study design models against relevant properties using a model checker.Item Evaluating and Comparing Generative-based Chatbots Based on Process Requirements(University of Waterloo, 2023-12-06) Lins dos Santos, Luis Fernando; Alencar, PauloBusiness processes refer to the sequences of tasks and information flows needed to achieve a specific goal. Such processes are used in multiple sectors, such as healthcare, manufacturing, banking, among others. They can be represented using diverse notations such as Event-driven Process Chain (EPC) and Yet Another Workflow Language (YAWL). A popular standard notation for modelling business processes is the Business Process Model and Notation (BPMN), due to its breadth of features and intuitiveness. Despite organizations increasingly turning to automated processes to enhance efficiency and precision, business processes might still contain human-dependent tasks, which present several challenges, such as complex task orders, task dependencies, and the need for contextual adaptability. These challenges often make it difficult for process participants to understand process execution, and it is common for them to get lost in the process they are trying to execute. Since the advent of process modelling languages, there have been multiple strategies to help users execute business processes. Most recently, chatbots, programs that allow users to interact with a machine using natural language, have been increasingly used for process execution support. A recent category of chatbots worth mentioning is generative-based chatbots, powered by Large Language Models (LLMs), which are trained on billions of parameters and support conversational intelligence. However, several challenges remain unaddressed: (i) how to incorporate process knowledge into generative-based chatbots; (ii) how to evaluate if a generative-based chatbot is meeting the requirements of BPMN constructs for process execution support; (iii) how different generative-based chatbot models compare in terms of meeting the requirements of BPMN constructs. To address these challenges, this thesis presents an exploratory approach to evaluate and compare generative-based chatbots in terms of meeting the requirements of BPMN constructs. This research comprises three distinct phases. The first phase presents a literature review that examines how chatbots are used in conjunction with business processes. In the second phase, the focus shifts to retrieval-based chatbots and their potential for process execution support when maintaining direct communication with a process engine system, in an attempt to achieve a gold standard of process-aware chatbots. Finally, the third phase delves into the realm of using generative-based models as process-aware chatbots to enhance business process execution support, including an evaluation of how two distinct generative models (GPT and PaLM) perform when helping in the execution of two business processes (Trip Planning and Wedding Planning). This thesis makes several contributions. First, it offers a comprehensive exploration of the challenges and gaps in the existing literature regarding the development of process-aware chatbots. Second, it provides an exploratory study about the use of generative-based chatbots for process execution support that meets the requirements of BPMN constructs. Finally, through comparative qualitative and quantitative evaluations, it sheds light on the performance of prominent generative models, GPT and PaLM, in the context of process execution support, contributing valuable insights for future research and development in this evolving field.Item Graph-Based Spatial-Temporal Cluster Evolution: Representation, Analysis, and Implementation(University of Waterloo, 2023-08-28) da Silva Portugal, Ivens; Alencar, Paulo; Cowan, Donald; Berry, DanielSpatial-temporal data are information about real-world entities that exist in a location, the spatial dimension, and during a period of time, the temporal dimension. These real-world entities, such as vehicles, people, or parcels and called spatial-temporal objects, may move, group, and continue the movement together, forming clusters. Although there have been significant research efforts to understand clusters, there is a lack of research that provides methods and software tools to support the representation, analysis, and implementation of graph-based spatial-temporal cluster evolution. Understanding this evolution is critical for dealing with spatial-temporal problems encountered in domains, such as service supply and demand, supply chain management, traffic and travel flows, human mobility, and city planning. This thesis presents an approach to graph-based cluster evolution and its representation, analysis, and implementation. The proposed solution introduces a representation of the structure of a spatial-temporal cluster with the identification of the cluster at several timestamps and linkages, and a representation of 14 spatial-temporal relationships clusters have during their existence. The proposed solution also introduces a graph representation of cluster evolution with nodes acting as clusters and edges as relationships. This solution provides analysis methods for the structure of spatial-temporal clusters that monitor the cluster changes in both location and size over time, and analysis methods for the spatial-temporal cluster relationships the clusters have during existence that calculate the frequency or density of such relationships in specific locations. The solution also provides analysis methods for a graph-based representation of spatial-temporal cluster evolution including integrated results that examine spatial-temporal clusters and their connections, and can provide, for example, aggregated results at a location or time of the day, identify ever-increasing or ever-decreasing regions, growth or decay rates, and measure the similarity between the evolution of two clusters. The approach also provides an implementation of the proposed representation and analysis methods. The effectiveness of the approach is evaluated through four case studies using different spatial-temporal datasets to show the results that can be produced, which include, exploratory analyses and specific analyses on ever-increasing and ever-decreasing regions, similarity values, and the movements the clusters represent. Overall, the proposed approach advances research in the spatial-temporal domain by providing novel representation and analysis methods as well as implementation tools that can improve the understanding about how clusters evolve in space and time. Such results can lead to many advantages such as higher income, reduced costs, and better transportation services, as well as the discovery of trends in cluster movement and improved decision-making processes in city planning.Item Multi-Agent Modeling of Risk-Aware and Privacy-Preserving Recommender Systems(University of Waterloo, 2017-04-25) Srivastava, Vishnu; Alencar, PauloRecent progress in the field of recommender systems has led to increases in the accuracy and significant improvements in the personalization of recommendations. These results are being achieved in general by gathering more user data and generating relevant insights from it. However, user privacy concerns are often underestimated and recommendation risks are not usually addressed. In fact, many users are not sufficiently aware of what data is collected about them and how the data is collected (e.g., whether third parties are collecting and selling their personal information). Research in the area of recommender systems should strive towards not only achieving high accuracy of the generated recommendations but also protecting the user’s privacy and making recommender systems aware of the user’s context, which involves the user’s intentions and the user’s current situation. Through research it has been established that a tradeoff is required between the accuracy, the privacy and the risks in a recommender system and that it is highly unlikely to have recommender systems completely satisfying all the context-aware and privacy-preserving requirements. Nonetheless, a significant attempt can be made to describe a novel modeling approach that supports designing a recommender system encompassing some of these previously mentioned requirements. This thesis focuses on a multi-agent based system model of recommender systems by introducing both privacy and risk-related abstractions into traditional recommender systems and breaking down the system into three different subsystems. Such a description of the system will be able to represent a subset of recommender systems which can be classified as both risk-aware and privacy-preserving. The applicability of the approach is illustrated by a case study involving a job recommender system in which the general design model is instantiated to represent the required domain-specific abstractions.Item Software Engineering for Big Data Systems(University of Waterloo, 2017-04-24) Kumar, Vijay Dipti; Alencar, Paulo; Berry, DanielSoftware engineering is the application of a systematic approach to designing, operating and maintaining software systems and the study of all the activities involved in achieving the same. The software engineering discipline and research into software systems flourished with the advent of computers and the technological revolution ushered in by the World Wide Web and the Internet. Software systems have grown dramatically to the point of becoming ubiquitous. They have a significant impact on the global economy and on how we interact and communicate with each other and with computers using software in our daily lives. However, there have been major changes in the type of software systems developed over the years. In the past decade owing to breakthrough advancements in cloud and mobile computing technologies, unprecedented volumes of hitherto inaccessible data, referred to as big data, has become available to technology companies and business organizations farsighted and discerning enough to use it to create new products, and services generating astounding profits. The advent of big data and software systems utilizing big data has presented a new sphere of growth for the software engineering discipline. Researchers, entrepreneurs and major corporations are all looking into big data systems to extract the maximum value from data available to them. Software engineering for big data systems is an emergent field that is starting to witness a lot of important research activity. This thesis investigates the application of software engineering knowledge areas and standard practices, established over the years by the software engineering research community, into developing big data systems by: - surveying the existing software engineering literature on applying software engineering principles into developing and supporting big data systems; - identifying the fields of application for big data systems; - investigating the software engineering knowledge areas that have seen research related to big data systems; - revealing the gaps in the knowledge areas that require more focus for big data systems development; and - determining the open research challenges in each software engineering knowledge area that need to be met. The analysis and results obtained from this thesis reveal that recent advances made in distributed computing, non-relational databases, and machine learning applications have lured the software engineering research and business communities primarily into focusing on system design and architecture of big data systems. Despite the instrumental role played by big data systems in the success of several businesses organizations and technology companies by transforming them into market leaders, developing and maintaining stable, robust, and scalable big data systems is still a distant milestone. This can be attributed to the paucity of much deserved research attention into more fundamental and equally important software engineering activities like requirements engineering, testing, and creating good quality assurance practices for big data systems.Item A Software Framework for PCA-based Face Recognition(University of Waterloo, 2016-04-28) Peng, Peng; Alencar, Paulo; Berry, DanielFace recognition, as one of the major biometrics identification methods, has been applied in different fields involving economics, military, e-commerce, and security. Its touchless identification process and non-compulsory rule to users are irreplacable by other approaches, such as iris recognition or fingerprint recognition. Among all face recognition techniques, principal component anaylsis (PCA) was proposed in the earliest stage; however, it is still attracting researchers in this field because of its property of reducing data dimensionality without losing important information. PCA-based face recognition has been studied for decades. There exist some image processing toolkits like OpenCV, which have implemented the PCA algorithm and associated methods. Nevertheless, establishing a PCA-based face recognition system is still time-consuming, since there are different problems that need to be considered in practical applications, such as illumination, facial expression, or shooting angle, which can hardly be solved by the toolkits. Furthermore, it still costs a lot of effort for software developers to integrate the implementations of the toolkits with their own applications. Therefore, the thesis provides a software framework for PCA-based face recognition aimed at assisting software developers to customize their applications efficiently. The framework describes the complete process of PCA-based face recognition, and in each step, multiple variations are offered for different requirements. Through various combination of these variations, at least 108 variations can be produced by the framework. Moreover, some of the variations in the same step can work collaboratively and some steps can be omitted in specific situations; thus, the total number of variations exceeds 150. The implementation of all approaches presented in the framework is provided.Item A Variability-Aware Design Approach to the Data Analysis Modeling Process(University of Waterloo, 2018-10-25) Tavares, MariaCristina; Alencar, Paulo; Cowan, Donald; Berry, DanielThe massive amount of current data has led to many different forms of data analysis processes that aim to explore this data to uncover valuable insights such as trends, anomalies and patterns. These processes support decision makers in their analysis of varied and changing data ranging from financial transactions to customer interactions and social network postings. These data analysis processes use a wide variety of methods, including machine learning, in several domains such as business, finance, health and smart cities. Several data analysis processes have been proposed by academia and industry, including CRISP-DM and SEMMA, to describe the phases that data analysis experts go through when solving their problems. Specifically, CRISP-DM has modeling as one of its phases, which involves selecting a modeling technique, generating a test design, building a model, and assessing the model. However, automating these data analysis modeling processes faces numerous challenges, from a software engineering perspective. First, software users expect increased flexibility from the software as to the possible variations in techniques, types of data, and parameter settings. The software is required to accommodate complex usage and deployment variations, which are difficult for non-experts. Second, variability in functionality or quality attributes increases the complexity of these systems and makes them harder to design and implement. There is a lack of a framework design that takes variability into account. Third, the lack of a more comprehensive analysis of variability makes it difficult to evaluate opportunities for automating data analysis modeling. This thesis proposes a variability-aware design approach to the data analysis modeling process. The approach involves: (i) the assessment of the variabilities inherent in CRISP-DM data analysis modeling and the provision of feature models that represent these variabilities; (ii) the definition of a preliminary framework design that captures the identified variabilities; and (iii) evaluation of the framework design in terms of possibilities of automation. Overall, this work presents, to the best of our knowledge, the first approach based on variability assessment to design data modeling process such as CRISP-DM. The approach advances the state of the art by offering a variability-aware design a solution that can enhance system flexibility and a novel software design framework to support data analysis modeling.