Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Donald D. Cowan

dblp:c/DonaldDCowan · also Don Cowan · DBLP profile ↗
← Back
101ranked-venue papers
12as first author
29since 2021 · last 2026
0000-0002-5373-8522ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Applied, interdisciplinary, general and emerging computing · 48 · 2 first-author · 28 since 2021Artificial intelligence and machine learning · 47 · 2 first-author · 27 since 2021Databases, data management, data science and information retrieval · 44 · 2 first-author · 27 since 2021Software engineering, systems software and programming languages · 40 · 6 first-author · 1 since 2021Computer networks · 6 · 2 first-authorHuman-computer interaction and ubiquitous computing · 5 · 1 first-authorSecurity and privacy · 1Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
1 paper
Recommender systems · 100%
Software engineering, system software, and programming languages
7 papers
Requirements engineering and software design · 86% Software maintenance and evolution · 13% Program verification · 1%
Artificial intelligence
1 paper
Language models and text generation · 100%

Topics — the 25 heaviest of 26, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Recommender systems › large language model-based recommendation
agentic recommender system
1.012026
Agentic Recommender Systems: A Systematic Literature Review · IEEE Trans. Software Eng. 2026
Recommender systems
large language model-based recommendation
1.012026
Agentic Recommender Systems: A Systematic Literature Review · IEEE Trans. Software Eng. 2026
Natural language and speech › Language models and text generation
LLM agents
0.312026
Agentic Recommender Systems: A Systematic Literature Review · IEEE Trans. Software Eng. 2026
Requirements engineering and software design
software architecture
0.132003
Software Engineering for Large-Scale Multi-Agent Systems - SELMAS'2003 · ICSE 2003
A Logical Theory of Interfaces and Objects · IEEE Trans. Software Eng. 2002
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse · IEEE Trans. Software Eng. 1995
Requirements engineering and software design › specification
interface specification
0.022002
A Logical Theory of Interfaces and Objects · IEEE Trans. Software Eng. 2002
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse · IEEE Trans. Software Eng. 1995
Requirements engineering and software design › application frameworks
framework instantiation
0.012004
Software Process Representation and Analysis for Framework Instantiation · IEEE Trans. Software Eng. 2004
Requirements engineering and software design
model consistency
0.012004
Response to Jiau et al.'s Comments · IEEE Trans. Software Eng. 2004
Requirements engineering and software design › software architecture › reusable architecture
object-oriented frameworks
0.012004
Software Process Representation and Analysis for Framework Instantiation · IEEE Trans. Software Eng. 2004
Software maintenance and evolution
software reuse
0.012004
Software Process Representation and Analysis for Framework Instantiation · IEEE Trans. Software Eng. 2004
Requirements engineering and software design › model-driven engineering
UML modeling
0.012004
Response to Jiau et al.'s Comments · IEEE Trans. Software Eng. 2004
Requirements engineering and software design › software architecture › distributed system architecture
multi-agent system architecture
0.012003
Software Engineering for Large-Scale Multi-Agent Systems - SELMAS'2003 · ICSE 2003
Requirements engineering and software design
separation of concerns
0.012002
A Logical Theory of Interfaces and Objects · IEEE Trans. Software Eng. 2002
Software maintenance and evolution › software reuse
component reuse
0.011995
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse · IEEE Trans. Software Eng. 1995
Distributed systems › distributed coordination
multi-agent systems
0.012003
Software Engineering for Large-Scale Multi-Agent Systems - SELMAS'2003 · ICSE 2003
Logic in computer science
formal specification
0.012002
A Logical Theory of Interfaces and Objects · IEEE Trans. Software Eng. 2002
Logic in computer science
temporal logic
0.012002
A Logical Theory of Interfaces and Objects · IEEE Trans. Software Eng. 2002
Requirements engineering and software design
model-driven engineering
0.011995
Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse · IEEE Trans. Software Eng. 1995
Internet architecture and protocols › protocol design
protocol specification and verification
0.011984
UNISPEX - A Unified Model for Protocol Specification and Verification · INFOCOM 1984
Programming languages and type systems
language design
0.011984
The Data Transform Programming Metho: An Example for File Processing Problems · ICSE 1984
Program verification
protocol verification
0.011984
UNISPEX - A Unified Model for Protocol Specification and Verification · INFOCOM 1984
Automata and formal languages › infinite-state systems › channel systems
FIFO channel systems
0.011983
Reachability analysis of protocols with FIFO channels · SIGCOMM 1983
Automata and formal languages
infinite-state systems
0.011983
Reachability analysis of protocols with FIFO channels · SIGCOMM 1983
Automated reasoning and model checking
protocol verification
0.011983
Reachability analysis of protocols with FIFO channels · SIGCOMM 1983
Automated reasoning and model checking
reachability
0.011983
Reachability analysis of protocols with FIFO channels · SIGCOMM 1983
Software maintenance and evolution
software evolution
0.011984
The Data Transform Programming Metho: An Example for File Processing Problems · ICSE 1984

Methods — techniques the papers use, named apart from their topics

systematic literature review · 2.0temporal logic · 0.1category theory · 0.1software process modeling · 0.0object constraint language · 0.0formal specification · 0.0abstract data views · 0.0reachability analysis · 0.0
YearPublicationVenuePosition
2026 Agentic Recommender Systems: A Systematic Literature Review
abstract
Recommender systems (RSs) are software systems that use machine learning techniques to suggest items, such as movies, products or routes to users based on input provided over time. These systems have been widely used by companies, such as Amazon, Google, and Netflix, who rely heavily on recommendations as a core element of their interaction with users. In the case of software engineering, RSs are used to recommend, for example, software tasks, developers, APIs, libraries, and bug fixes. More recently, advancements in natural language processing and large language models (LLMs) have led to the creation of LLM agents capable of generating plans, interacting with users and the environment, receiving feedback, and using tools. These developments have resulted in the use of LLM agents in RSs, giving rise to multi-agent RSs referred to as agentic recommender systems (ARSs). However, agentic RSs are not yet well characterized in terms of the basic elements of system modeling and design. This systematic literature review characterizes agentic recommender systems with respect to agents, roles, relationships, prompts, integration, use cases, strategies and evaluation methods. An analysis of published studies yields insights, such as (i) the identification of 13 distinct types of agents, (ii) the popularity of GPT models, (iii) a framework for ARSs, (iv) a generalized prompt, (v) the use of persona, cues, output format, and zero-shot prompting, (vi) the frequent use of Amazon, Yelp, and MovieLens datasets, (vii) the use of nDCG@k and Recall@k as common evaluation metrics, and (viii) the identification of many research gaps. This systematic literature review aims to support the continued research and development of agentic recommender systems.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE Trans. Software Eng.3
2025 From Text to Insight: Towards Robust RAG Pipelines for Transcript-Based Clinical Screening
Giuliano Lorenzoni, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2025 ABL: An LLM-Based Agentic Framework for Applying Black-Litterman Portfolio Optimization
Giuliano Lorenzoni, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2025 ACVA: An Agentic LLM-Based Framework for CVA Calculation
Giuliano Lorenzoni, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2025 An Agentic LLM-Based Framework for Population-Scale Mental Health Screening
Giuliano Lorenzoni, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2025 Contextual Prompt Enabler for Mental Health (CPEMH): An Agent-Based LLM Framework for Prompt Design, Evaluation, and Selection for Depression Screening from Transcripts
Giuliano Lorenzoni, Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2025 Towards a Graph-Based Agentic Workflow and Framework for Natural Language Directions
Ivens Portugal, Giuliano Lorenzoni, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2024 GPT-4 on Clinic Depression Assessment: An LLM-Based Pilot Study
abstract
Depression has impacted millions of people world-wide and has become one of the most prevalent mental disorders. Early mental disorder detection can lead to cost savings for public health agencies and avoid the onset of other major comorbidities. Additionally, the shortage of specialized personnel is a critical issue because clinical depression diagnosis is highly dependent on expert professionals and is time-consuming.In this study, we explore the use of GPT-4 for clinical depression assessment based on transcript analysis. We examine the model’s ability to classify patient interviews into binary categories: depressed and not depressed. A comparative analysis is conducted considering prompt complexity (e.g., using both simple and complex prompts), as well as varied temperature settings, to assess the impact of prompt complexity and randomness on the model’s performance. Results indicate that GPT-4 exhibits considerable variability in accuracy and F1-Score across configurations, with optimal performance observed at lower temperature values (0.0-0.2) for complex prompts. However, beyond a certain threshold (temperature ≥ 0.3), the relationship between randomness and performance becomes unpredictable, diminishing the gains from prompt complexity. These findings suggest that, while GPT-4 shows promise for clinical assessment, the configuration of the prompts and model parameters requires careful calibration to ensure consistent results. This preliminary study contributes to understanding the dynamics between prompt engineering and large language models, offering insights for future development of AI-powered tools in clinical settings.
Giuliano Lorenzoni, Pedro Elkind Velmovitsky, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2024 An Agentic AI-based Multi-Agent Framework for Recommender Systems
abstract
Agentic AI describes the use of LLMs in novel AI agents that can answer questions or collaborate to achieve goals. These LLM agents can be used to build a novel generation of recommender systems. However, little is known about the LLM agents or their relationships needed to provide recommendations. Once identified, a framework can be constructed. Moreover, evaluating this framework is still not well understood. In this paper, we propose an agentic AI-based, multi-agent framework for recommender systems. We first identify LLM agents proposed in the literature, followed by the identification of their relationships and we propose a framework to represent them. Next, we evaluate this framework with respect to the LLM agents and functionalities of a recommender system based on published studies. This study is a stepping stone in a novel paradigm shift in the construction of recommender systems.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2023 Comparing Generative Chatbots Based on Process Requirements: A Case Study
abstract
Business processes are commonly represented by modelling languages, such as Event-driven Process Chain (EPC), Yet Another Workflow Language (YAWL), and the most popular standard notation for modelling business processes, the Business Process Model and Notation (BPMN). Most recently, chatbots, programs that allow users to interact with a machine using natural language, have been increasingly used for business process execution support. A recent category of chatbots worth mentioning is generative-based chatbots, powered by Large Language Models (LLMs) such as OpenAI’s Generative Pre-Trained Transformer (GPT) model and Google’s Pathways Language Model (PaLM), which are trained on billions of parameters and support conversational intelligence. However, it is not clear whether generative-based chatbots are able to understand and meet the requirements of constructs such as those provided by BPMN for process execution support. This paper presents a case study to compare the performance of prominent generative models, GPT and PaLM, in the context of process execution support. The research sheds light into the challenging problem of using conversational approaches supported by generative chatbots as a means to understand process-aware modelling notations and support users to execute their tasks.
Luis Fernando Lins, Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Toacy Cavalcante de Oliveira, Donald D. Cowan
IEEE Big Data5
2023 GPT-in-the-Loop: Supporting Adaptation in Multiagent Systems
abstract
This paper introduces the ‘GPT-in-the-loop’ approach, which seeks to investigate the reasoning capabilities of Large Language Models (LLMs) like Generative Pre-trained Transformers (GPT) within multiagent systems (MAS). Moving beyond traditional adaptive approaches that generally require long training processes, our framework employs GPT-4 to enhance problem-solving and explanation skills. To explore this approach, we apply it to a smart streetlight application in the Internet of Things (IoT) context, wherein each streetlight is controlled by an autonomous agent equipped with sensors and actuators, tasked with creating an energy-efficient lighting system. With the integration of GPT-4, these agents have shown enhanced decision-making and adaptability, without necessitating prolonged training. We compare this approach with both conventional neuroevolutionary methods and manually crafted solutions by software engineers, underscoring the potential of GPT-driven behavior in multiagent systems. It is important to note that these comparisons are preliminary, and further, more extensive testing is critical to determine the approach’s applicability across a wider range of MAS scenarios. Structurally, the paper delineates the incorporation of GPT into the agent-driven Framework for the Internet of Things (FIoT), details our proposed GPT-in-the-loop approach, presents comparative results within the IoT setting, and concludes with insights and prospective future directions.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2023 GPT in Data Science: A Practical Exploration of Model Selection
abstract
There is an increasing interest in leveraging Large Language Models (LLMs) for managing structured data and enhancing data science processes. Despite the potential benefits, this integration poses significant questions regarding their reliability and decision-making methodologies. Our objective is to elucidate and express the factors and assumptions guiding GPT-4’s model selection recommendations. It highlights the importance of various factors in the model selection process, including the nature of the data, problem type, performance metrics, computational resources, interpretability vs accuracy, assumptions about data, and ethical considerations. We employ a variability model to depict these factors and use toy datasets to evaluate both the model and the implementation of the identified heuristics. By contrasting these outcomes with heuristics from other platforms, our aim is to determine the effectiveness and distinctiveness of GPT-4’s methodology. This research is committed to advancing our comprehension of AI decision-making processes, especially in the realm of model selection within data science. Our efforts are directed towards creating AI systems that are more transparent and comprehensible, contributing to a more responsible and efficient practice in data science.
Nathalia Moraes do Nascimento, Cristina Tavares, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2023 Identifying Regions of High Demand for Transportation Services based on Cluster Evolution and Graph Analysis
abstract
Identifying regions of high demand for transportation services can help drivers maximize their profits, assist companies in dynamic pricing or resource allocation, and reduce passenger’s wait times. However, their identification is not trivial because of the many factors that impact the demand, such as the weather or time of the day, and the possible lack of communication between drivers. In this paper, we present a framework to identify regions of high demand for transportation services based on cluster evolution and graph analysis. The framework identifies how clusters of moving objects evolve, creates a graph to represent the evolution, and use cluster relationships to calculate a rate of change based on the objects that enter of leave the cluster. Results can be described based on the day or the evolution of a cluster. A use case with taxis in Rome is performed and two main regions of high demand for taxis are identified, one near hotels and another near a bus, taxi, and train terminal.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2023 Knowledge Graphs in Spatial-Temporal Cluster Evolution Analysis
abstract
Graphs have been used as the foundation for several types of analysis methods in multiple application domains. In our study, we investigate spatial-temporal data analysis using graphs that capture knowledge about clusters of moving objects, their relationships, and their evolution. The study cope with the need to provide analysis techniques that consider cluster evolution. In this paper, we describe our ongoing study on knowledge graphs in spatial-temporal cluster evolution and potential research directions.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2023 Extending Variability-Aware Model Selection with Bias Detection in Machine Learning Projects
abstract
Data science projects often involve various machine learning (ML) methods that depend on data, code, and models. One of the key activities in these projects is the selection of a model or algorithm that is appropriate for the data analysis at hand. ML model selection depends on several factors, which include data-related attributes such as sample size, functional requirements such as the prediction algorithm type, and nonfunctional requirements such as performance and bias. However, the factors that influence such selection are often not well understood and explicitly represented. This paper describes ongoing work on extending an adaptive variability-aware model selection method with bias detection in ML projects. The method involves: (i) modeling the variability of the factors that affect model selection using feature models based on heuristics proposed in the literature; (ii) instantiating our variability model with added features related to bias (e.g., bias-related metrics); and (iii) conducting experiments that illustrate the method in a specific case study to illustrate our approach based on a heart failure prediction project. The proposed approach aims to advance the state of the art by making explicit factors that influence model selection, particularly those related to bias, as well as their interactions. The provided representations can transform model selection in ML projects into a non ad hoc, adaptive, and explainable process.
Cristina Tavares, Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2022 Assessing Energy Consumption in Data Acquisition from Smart Wearable Sensors in IoT-Based Health Applications
abstract
Smart wearable devices for patient monitoring rely on batteries as energy-source for capturing vital signs, processing information locally, and transmitting data. The advantages of such solutions are providing mobility to users, connectivity to send data constantly, and low cost. These devices are wireless and must be tiny to be carried comfortably by the users. This fact restricts energy autonomy and requires frequent replacement or recharge of batteries. The highest energy cost is commonly attributed to transmissions in wireless devices, and several studies focused on communication and routing protocols to enhance energy efficiency in such solutions. However, researchers should give more attention to data acquisition of physiological sensors regarding energy efficiency in such solutions. In this preliminary study, we present the effects of a self-adaptive algorithm on the energy consumption of popular wearable physiological sensors. Our prototype is composed of an oximeter and a temperature sensor. Our experiments demonstrate that the self-adaptive procedure can save up to 80% energy consumption regarding the oximeter when monitoring stable patients at low risk and 51% in unstable patients. In addition, the temperature sensor can reach 97% of energy savings in the self-adaptive mode. The sensors’ data acquisition can present a superior energy cost than radio transmissions on such devices. In future work, we will explore the potential benefits of the algorithm in all main activities of our monitoring device.
Antonio Iyda Paganelli, André Sarmento, Adriano Branco, Markus Endler, Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data7
2022 A novel self-adaptive method for improving patient monitoring with composite early-warning scores
abstract
Wearable sensors utilize small, low-cost, noninvasive, and wireless components. These sensors capture vital signs, allowing the monitoring of patients remotely. In this manner, they are efficient tools to enhance patient care and can be used to monitor vulnerable populations, and keep track of the development of chronic diseases, and the transmission of infectious illnesses – such as during pandemics. However, there are many challenges to monitoring patients using wearables, with massive data generation and battery power consumption being significant constraints. Strategies to reduce data generation should be applied taking into account the patient’s clinical status and health risks. Previous studies took advantage of single early-warning scores (EWS) utilized in infirmaries to detect emergencies, reduce transmissions, and be a reference for self-adaptive features embedded in the devices. Our work proposes the use of composite EWS to infer health deterioration risk, minimize data transmissions and power consumption, and reduce excessive alarms through self-adaptive features based on these scores. We also compare our method with previous studies using real patient data. Further, we propose applying self-adaptive features to sampling, processing, and transmission rates. Our method demonstrated enhanced data reduction, 81% fewer readings than the baseline, significant pruning of the number of alarms, and dynamic and automatic inference of patient risk.
Antonio Iyda Paganelli, Pedro Elkind Velmovitsky, Adriano Branco, Markus Endler, Plinio Pelegrini Morita, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data7
2022 A Graph-based Analysis Approach to Cluster Lifetime Dynamics
abstract
Spatial-temporal data analysis helps uncover value from data that moves through space and time. One such data analysis technique is clustering, which groups data based on a distance function to identify outliers or assist in classification tasks. Once spatial-temporal data is clustered with respect to space and time, cluster relationships can be observed, such as clusters entering or leaving another, merging, or splitting. A cluster lifetime describes the relationships that a given cluster had from its start to finish. The set of all cluster lifetimes that are related by the relationships describe a cluster dynamic. In this paper, we report our work in progress on a graph-based analysis approach to cluster lifetime dynamics. We discuss how cluster dynamics can be represented using graphs and the opportunities resulting from this approach, including visualization, graph pattern mining, graph classification, and graph compression. Enabled by graph-processing techniques, the proposed approach facilitates tasks such as the detection of regions of significant increase or decrease in the number of cluster elements (e.g. traffic jams), the calculation of a rise or decay parameter to describe this behavior for classification or comparison tasks, and the identification of a cluster’s lifetime, direction, and distance from or to a given point of interest.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data3
2022 Understanding Levels of Automation in Human-Machine Collaboration
abstract
Recent advances in software and artificial intelligence technologies have led to the increasing need to support the collaboration between humans and systems in various application domains. The growing capacity for systems has leveraged the power of building applications that have higher autonomy. However, a proper understanding of allocating tasks to either humans or machines is still lacking, and no suggestions are provided to support this allocation. Current approaches do not consider knowledge about the appropriate level of automation (LOA) in this collaboration and do not support adaptive automation, especially task assignments during the system’s operation. The knowledge about which factors affect the variability in human-system interaction LOA has not been explicitly captured. This paper presents a preliminary study that identifies the factors that influence levels of automation in autonomous systems and present the identified factors as a list. Identifying the factors that influence the level of autonomy of systems advances research in the design of autonomous systems by introducing an adaptive automation approach that can recommend levels of automation to support human-computer interactions. Modern systems must be prepared to identify, capture and process the significant volume and variety of data related to the factors that might influence the variability of systems’ behaviours.
Glaucia Melo dos Santos, Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2022 Adaptive Method for Machine Learning Model Selection in Data Science Projects
abstract
Data science projects involve a machine learning (ML) process based on data, code, and models that change over time. For example, the datasets may increase in size and allow an ML model that requires larger datasets to be applied. However, the dynamic factors that influence model selection are not well understood and explicitly represented. This paper presents ongoing work on an adaptive method for ML model selection in big data science projects. The proposed method involves (i) identifying the factors that affect model selection based on heuristics proposed in the literature; and (ii) modeling the variability of these factors using a feature diagram and constraints that trigger adaptive reconfiguration, that is, changes in model selection due to changes in the variability factors. The applicability of the method is demonstrated through an illustrative use case. The proposed method can lead to an improved understanding of dynamic factors that influence model selection, how these factors explicitly affect the selection, and how the adaptive factors can be represented and automated. This improved understanding can result in a project model selection process that is less implicit and more efficient, more adaptive and explainable, and ultimately constitute a foundation for the creation of novel dynamic software product lines to support this process.
Cristina Tavares, Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE Big Data4
2022 AKIP Process Automation Platform: A Framework for the Development of Process-Aware Web Applications
Ulisses Telemaco Neto, Toacy Cavalcante de Oliveira, Raquel M. Pillat, Paulo S. C. Alencar, Donald D. Cowan, Glaucia Melo dos Santos
WEBIST5
2021 Knowledge-Oriented Graph-Based Approach to Capture the Evolution of Developers' Knowledge
abstract
Software development is a collaborative effort in which developers often share knowledge by interacting with artifacts and among themselves. When developers interact with artifacts, what we call a Developer-Artifact interaction, they access or define pieces of information within artifacts. When they interact among, what we call a Developer-Developer interaction, they exchange information using a collaborative platform to clarify an issue, promote an idea, or share a comment. However, the high number of such interactions makes it very difficult to capture and assess the evolution of the developers' knowledge about specific software project artifacts and tasks. On one hand, the knowledge they have decreases over time due to the natural limitations of human cognition that restrict their capabilities to cope with information overload. On the other hand, the more they know about specific project elements, the more they are apt to collaborate. In this paper we describe ongoing work on knowledge-oriented and graph-based models that capture the evolution of developers’ knowledge about software project elements such as artifacts, tasks, similar tasks, and the whole software project, and explore the associated rich project-related connected networks.
Edson Mello Lucas, Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData4
2021 An Approach to Support Human-in-the-Loop Big Data Software Development Projects
abstract
There is a lack of approaches and tools to support the development of projects in which humans and machines (e.g., machine learning algorithms) need to collaborate to achieve a specified goal. Specifically, given a set of software development tasks to develop a project collaboratively, how can these tasks be assigned to humans or machines to perform each task most efficiently and effectively? Such understanding is essential to support new methodologies for developing human-in-the-loop approaches in which machine learning automated procedures assist software developers in achieving their tasks. This paper describes our work in progress towards providing an approach to guide the assignment of tasks in developing human-in-the-loop big data (science) software development projects. The paper provides several contributions, including the provision of (i) a human-in-the-loop approach for the development of big data software development projects; (ii) the application of the approach to two case studies; (iii) a discussion of implications and research opportunities.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2021 A Lifecycle for Engineering IoT Neural Network-based Systems
abstract
Internet of Things (IoT) applications have been deployed in several domains, including health care, smart cities, and agriculture. Because of the complex static and dynamic variability of the environment in which these applications are deployed, machine learning-based approaches have been used to support the design of IoT applications. In particular, an emergent approach involves using neural networks to enable IoT devices to learn to adapt their behavior based on the dynamics of the environment. Designing IoT systems is already challenging because of the autonomy and concurrency inherent in distributed physical systems. Moreover, neural networks systems have particular characteristics, such as dynamism, adaptability, and generalization, that make it necessary to adapt the traditional software development lifecycle to satisfy the requirements of these systems. In this paper, we describe our proposed approach to support the engineering of IoT neural network-based systems. Our approach considers a lifecycle supporting the integration of IoT system development tasks with particular ANN tasks, as model requirements and feature engineering. In addition, the paper includes the provision of the application of the approach to a case study and conclusive remarks.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2021 Context-Aware Data Analytics Variability in IoT Neural Network-Based Systems
abstract
Emergent software applications are increasingly becoming (self-)adaptive and autonomous. Further, Internet of Things (IoT) applications increasingly involve data analytics. The introduction of neural networks in IoT systems has enabled a new generation of applications capable of performing complex sensing and actuation analysis tasks that were not previously possible with other approaches. A key component in the development of these systems is the ability to represent data analytics variability, which captures the ways in which the system can adapt in terms of the data analysis at design and run times. Although variability has been explored in the domain of software product lines (SPLs), data analytics variability in IoT neural network-based systems still seems to be poorly understood and needs to be investigated appropriately. In this paper, we introduce an approach to capture data analytics variability in IoT neural network-based systems (IoTNNSs). The approach represents several types of variability inherent in the development of these analytics systems, including those related to the application context, behavior, quality attributes, IoT devices, and neural networks.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2021 IoT-Based COVID-19 Health Monitoring System: Context, Early Warning and Self-Adaptation
abstract
The Internet of Things (IoT) has enabled novel solutions for monitoring patients’ health through wearable sensors in conditions of both non-communicable and infectious diseases. In this paper, we report work in progress involving the development of an IoT-based COVID-19 health monitoring system that can effectively monitor the essential physiological functions of a patient through wireless sensors, thus supporting the early detection of severe cases and the continuous assessment of the patient status. The work provides several main contributions, as it includes: (i) a brief description of the current IoT-based system for remote monitoring of COVID-19 patients; (ii) a description of embedded characteristics of our device, including its contextual functions, early warning score mechanisms and self-adaptive features; and (iii) a description of our preliminary experiment results. Our proposed solution reduced drastically the amount of redundancy in data and still maintain monitoring accuracy. Given the COVID-19 scenarios, in which human resources are extended to the limit and the number of patients in severe conditions is often high, a system that can support IoT-based continuous monitoring are essential to identify changes in clinical status promptly and accurately and can potentially transform the way patients are monitored.
Antonio Iyda Paganelli, Adriano Branco, Markus Endler, Pedro Elkind Velmovitsky, Pedro Miranda 0001, Plinio Pelegrini Morita, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData8
2021 Computational Analysis to Capture Cluster Lifetime Dynamics
abstract
Spatial-temporal data analysis aims at uncovering useful insights and patterns from data that is associated with a location and that changes with time. Spatial-temporal data can comprise massive datasets obtained from multiple sources, including mobile devices, cameras, radar, and other types of sensors. Traditional analysis techniques allow researchers to perform several tasks, including classification, regression, and clustering. Specifically, clustering methods have been widely adopted in domains such as transportation, smart cities, and astronomy. However, current clustering techniques fail to analyze a moving cluster from its start to finish, limiting themselves to investigating static clusters. This study introduces a framework that takes into consideration the entire life of a mobile cluster and describes its lifetime based on dynamic spatial-temporal relationships that the cluster has with other clusters or trajectories. The framework is evaluated using two case studies, which involve taxi trajectories and human mobility.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2021 Towards Automated Variability-Aware Machine-Learning-Based Modeling Analysis
abstract
Data analysis involves the use of a wide variety of systems and libraries to support the exploration and development of models that can uncover valuable patterns and enable individuals and businesses to draw informed insights. However, efforts towards the automation of the ML-based data analysis modeling process faces numerous challenges. In this paper, we describe our ongoing work towards the automation of the data analysis modeling phase based on a variability-aware approach. This approach involves capturing the variabilities through feature models, designing an automated framework to support the analysis, and developing use cases. The work advances the state of the art in the development of methods and tools to support the automation of ML-based data analysis.
Maria Cristina Vale Tavares, Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData4
2021 Towards Real-Time Public Health: A Novel Mobile Health Monitoring System
abstract
Public health monitoring methods have limitations that affect the quality of data. To support traditional data collection efforts, personal smart technologies can be used to collect multimodal, real-time and continuous data. Public health agencies can then study and predict the prevalence of conditions in a population using advanced analytics. Apple Health is one of the most popular sources of health data from personal devices, supporting diverse sensors that collect a wide range of information from heart rate to blood pressure and sleep. This paper introduces a system that uses a mobile health platform to extract Apple Health data to support public health monitoring. Development, security and privacy considerations are discussed, and a pilot study is proposed which collects several objective sensor data from Apple Health as well as self-report perceived stress (both using the platform) to create stress prediction models. Ultimately, the system described can provide public health agencies with novel methods to collect multimodal data from consumer devices as well as implement interventions in real-time to minimize the impact of conditions, such as stress, in a population. The system advances the state-of-the-art in health monitoring by being one of the first works to leverage health data from consumer-level personal devices for public health.
Pedro Elkind Velmovitsky, Paulo S. C. Alencar, Scott T. Leatherdale, Donald D. Cowan, Plinio Pelegrini Morita
IEEE BigData4
2020 A Reference Model for IoT Embodied Agents Controlled by Neural Networks
abstract
Embodied agents is a term used to denote intelligent agents, which are a component of devices belonging to the Internet of Things (IoT) domain. Each agent is provided with sensors and actuators to interact with the environment, and with a `controller' that usually contains an artificial neural network (ANN). In previous publications, we introduced three software approaches to design, implement and test IoT embodied agents. In this paper, we propose a reference model based on statecharts that offers abstractions tailored to the development of IoT applications. The model represents embodied agents that are controlled by neural networks. Our model includes the ANN training process, represented as a reconfiguration step such as changing agent features or neural net connections. Our contributions include the identification of the main characteristics of IoT embodied agents, a reference model specification based on statecharts, and an illustrative application of the model to support autonomous street lights. The proposal aims to support the design and implementation of IoT applications by providing high-level design abstractions and models, thus enabling the designer to have a uniform approach to conceiving, designing and explaining such applications.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Donald D. Cowan, Carlos José Pereira de Lucena
IEEE BigData3
2020 From Spatial-Temporal Cluster Relationships to Lifecycles: Framework and Mobility Applications
abstract
Spatial-temporal data analysis relates to the application of data analysis techniques to data where space and time are both relevant. Usually, the results of these techniques are used to classify or predict a phenomenon, but little attention is given to the explanation of how such phenomenon happened. For example, one may predict that a sporting event will happen at a particular location and date, but little is known about the indications that such event will happen (e.g. a higher number of vehicles on certain streets, parking lots becoming full, large number of vehicles going to supermarkets, or a sudden drop in pedestrian and vehicular traffic movement when the match starts). In this paper, we report on our ongoing work on using spatial-temporal cluster relationships to identify cluster lifecycles. These lifecycles are a series of stages through which a cluster passes during its lifetime, much like a human lifecycle of birth, growth, reproduction, and death. We focus on the identification of cluster lifecycle stages, namely start, expand, shrink, and end, and on their use to predict spatial-temporal phenomena, such as traffic congestion, human events, or animal movement.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2020 Understanding User Understanding: What do Developers Expect from a Cognitive Assistant?
abstract
Software development is a complex endeavor that depends on a wide variety of contextual factors involving a large amount of distributed information such as technology-related tasks, software operating environments and stakeholder requirements. Most of this context is implicit and captured in the developers' minds (tacit) or distributed through volumes of documentation. Developers have to maintain mental models of this variety of tasks and information as they produce the software. As a result, context can be easily lost or forgotten and developers often use adhoc approaches while finishing the project. We present in this paper the preliminary results of a study that aims at analyzing qualitatively whether supporting software developers with a chatbot during task execution can improve the overall development experience. The chatbot can assist the developers in executing different tasks based on implicit contextual information. We propose an implementation to explore the viability of using textual chatbots to assist developers automatically and proactively with software development project activities that recur. We believe that understanding the interaction of developers with the systems supported by chatbots is key to improving the developer experience and advancing software engineering practices by providing needed timely support for developers.
Glaucia Melo dos Santos, Edith Law, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData4
2019 iEnvironment: Perspectives on Metadata-Oriented Testing of Research Software
abstract
As a research software platform, iEnvironment has been proposed to support open and big data sharing and reuse for researchers working on surface water issues. Research software refers to software development tools that accelerate discovery and simplify access to digital infrastructures. Although research software platforms are becoming increasingly more innovative and powerful, this increasing complexity hides a greater risk of failure as unplanned and untested program scenarios arise. As systems age and are maintained by different programmers the risk of a change impacting the overall system increases. In contrast, systems that are built with less emphasis on program code and more emphasis on the metadata that describes the application can be more readily changed and maintained by individuals who are less technically skilled but are often more familiar with the application domain. Such systems can also be tested using automatically generated testing regimes.
Douglas W. Mulholland, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2019 Modeling Dynamic Spatial-Temporal Cluster Relationships
abstract
Spatial-temporal data refers to potentially massive amounts of data gathered across both space and time. Spatial-temporal data analysis helps uncover the value that this type of data holds to domains such as transportation operations, traffic management, service demand, and trip planning. Specifically, cluster analysis groups data into sets known as clusters such that elements inside a cluster are more similar to each other than elements in other clusters. Cluster analysis has been successfully applied in domains such as transportation, ecology, medicine, and astronomy. However, current cluster analysis techniques limit themselves to static cluster analysis, thereby missing the identification of interesting insights and patterns related to the evolution of clusters over time. In this paper, we clarify the concept of dynamic clusters and support new forms of cluster analyses by introducing, describing, and formalizing cluster relationships that represent important events, such as split or merge, that a cluster may go through from its start to its end. These relationships provide a foundation for investigating cluster evolution and providing novel insights for better operational and business decision making.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2019 Context-Augmented Software Development in Traditional and Big Data Projects: Literature Review and Preliminary Framework
abstract
Software development is a complex activity, which depends on diverse technologies as well as expertise in applying them. Approaches to developing software depend highly on these different characteristics and also the context in which the developers operate. This context involves a massive amount of knowledge, which can often be reused but is easily lost if not captured explicitly and properly organized. Although extensively researched, this context for software development is still not explicit, nor provided as a framework that broadly supports the situation surrounding the software developers and the tools being used. Thus, the ability to reuse this rich context throughout a project is severely hampered. This paper provides a literature review of documents describing the context for software development in traditional and big data projects and a preliminary context-augmented framework design. The purpose of this review is to make the context discovered by the project's software developers explicit and supported by a framework that aids software development using context information. We believe supporting contextual knowledge through its representation and mining for recommendation and real-time provision can significantly improve traditional and big data software project development.
Glaucia Melo dos Santos, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2019 Retrieving Curated Stack Overflow Posts from Project Task Similarities (S)
abstract
Software development depends on diverse technologies and methods and, as a result, software development teams often need to handle issues in which team members are not experts.To address this lack of expertise, developers typically rely on information obtained from web-based Q&A sites such as Stack Overflow, a popular platform to find solutions to specific technology-related problems.However, access to these Q&A websites is currently not explicitly integrated with software development projects.Therefore, software developers often need to search for solutions to similar and recurring issues multiple times.This lack of integration not only hinders the reuse of the knowledge obtained but also compels developers to perform repeated searches for recurring problems.In this paper, we investigate an approach that explicitly associates project tasks with Stack Overflow posts that have already been curated by developers, and use project task similarities to investigate the possibility to suggest curated Stack Overflow posts.Precision and accuracy were 71.60% and 77.78%, respectively.We also found indications that project task elements such as the process activity, influence accuracy and precision if attempting to reuse curated Stack Overflow posts.
Glaucia Melo dos Santos, Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Donald D. Cowan
SEKE4
2019 AgileCritPath: Identifying Critical Tasks in Agile Environments
abstract
Planning and monitoring the execution of software development activities in agile environments are not trivial procedures.One of the main flaws of agile planning is not considering the dependencies that exist between project tasks.Dependencies between tasks found in software development project plans may lead to the emergence of critical paths, where tasks need to be handled in a strict sequence because the completion of some tasks depends on the completion of others.Not managing such critical paths may reduce team performance and delay product delivery.We performed a study to demonstrate that not identifying dependencies may impair team performance and even increase the risk of costly project delays.The study is divided into three parts: (1) an exploratory study performed in the industry; (2) the development of a tool, AgileCritPath, as a way to support development teams in identifying critical project tasks; and (3) an in vivo evaluation of AgileCritPath based on the Technology Acceptance Model (TAM).The results of the exploratory study provided empirical evidence that there is a need to identify and control dependencies between the tasks in the development of software in agile environments.Using the AgileCritPath tool, allowed us to introduce the Critical Path Method concepts in an agile software development organization.Moreover, the in vivo evaluation demonstrated the benefits of managing tasks dependencies.
Rachel Vital Simões, Glaucia Melo dos Santos, Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Donald D. Cowan
SEKE5
2018 The iEnvironment Platform: Developing an Open Science Software Platform for Integrated Environmental Monitoring and Modeling of Surface Water
abstract
This paper describes the development of iEnvironment, an open science software platform that supports monitoring and modeling of aspects of surface water. The platform supports science and engineering research, especially in the context of the creation, sharing, analysis and maintenance of big and open data. In this era of big data, iEnvironment facilitates access to open data resources and research collaboration among science and research disciplines supported by computer scientists and software developers.
Paulo S. C. Alencar, Donald D. Cowan, Douglas W. Mulholland
IEEE BigData2
2018 Toward Human-in-the-Loop Collaboration Between Software Engineers and Machine Learning Algorithms
abstract
Several papers have recently contained reports on applying machine learning (ML) to the automation of software engineering (SE) tasks, such as project management, modeling and development. However, there appear to be no approaches comparing how software engineers fare against machine-learning algorithms as applied to specific software development tasks. Such a comparison is essential to gain insight into which tasks are better performed by humans and which by machine learning and how cooperative work or human-in-the-loop processes can be implemented more effectively. In this paper, we present an empirical study that compares how software engineers and machine-learning algorithms perform and reuse tasks. The empirical study involves the synthesis of the control structure of an autonomous streetlight application.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE BigData4
2018 An IoT Analytics Embodied Agent Model based on Context-Aware Machine Learning
abstract
Agent-based Internet of Things (IoT) applications have recently emerged as applications that can involve sensors, wireless devices, machines and software that can exchange data and be accessed remotely. Such applications have been proposed in several domains including health care, smart cities and agriculture. However, despite their increased adoption, deploying these applications in specific settings has been very challenging because of the complex static and dynamic variability of the physical devices such as sensors and actuators, the software application behavior and the environment in which the application is embedded. In this paper, we propose a modeling approach for IoT analytics based on learning embodied agents (i.e. situated agents). The approach involves: (i) a variability model of IoT embodied agents; (ii) feedback evaluative machine learning; and (iii) reconfiguration of a group of agents in accordance with environmental context. The proposed approach advances the state of the art in that it facilitates the development of Agent-based IoT applications by explicitly capturing their complex and dynamic variabilities and supporting their self-configuration based on an context-aware and machine learning-based approach.
Nathalia Moraes do Nascimento, Paulo S. C. Alencar, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE BigData4
2018 Trajectory Cluster Lifecycle Analysis: An Evolutionary Perspective
abstract
Cluster analysis has helped to uncover changes over time in numerous studies on the dynamics of entities such as people and groups of animals in areas such as human mobility, health, transportation, commerce, and ecology. However, there is a lack of methods that focus on aspects related to the cluster lifecycle, including dynamic analyses on how clusters are formed, change, and disappear. Specifically, how objects enter and exit from the clusters, and how clusters are (de-)composed to form new clusters. In this paper, we introduce our work in progress about an approach to trajectory cluster lifecycle analysis based on big data that supports an evolutionary analysis of clusters throughout their lifecycle. The knowledge that can be captured as a result of such novel forms of analysis will advance the state of the art in a wide range of applications that require information about cluster evolution, and thus provide deeper insights on cluster genesis, existence, and disappearance.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2018 A Software Framework for Cluster Lifecycle Analysis in Transportation
abstract
Novel forms of data analysis methods have emerged as a significant research direction in the transportation domain. These methods can potentially help to improve our understanding of the dynamic flows of vehicles, people, and goods. Understanding these dynamics has economic and social consequences, which can improve the quality of life locally or worldwide. Aiming at this objective, a significant amount of research has focused on clustering moving objects to address problems in many domains, including the transportation, health and environment. However, previous research has not investigated the lifecycle of a cluster, including cluster genesis, existence, and disappearance. The representation and analysis of cluster lifecycles can create novel avenues for research, result in new insights for analyses, and allow unique forms of prediction. This paper focuses on studying the lifecycle of clusters by investigating the relations that a cluster has with moving elements and other clusters. This paper also proposes a big data framework that manages the identification and processing of a cluster lifecycle. The ongoing research approach will lead to new ways to perform cluster analysis and advance the state of the art by leading to new insights related to cluster lifecycle. These results can have a significant impact on transport industry data science applications in a wide variety of areas, including congestion management, resource optimization, and hotspot management.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2018 A Variability-Aware Design Approach to the Data Analysis Modeling Process
abstract
The 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. Methodologies to guide the development of big data science projects, including CRISP-DM and SEMMA, have been widely used in industry and academia. The data analysis modeling phase, which involves decisions on the most appropriate models to adopt, is at the core of these projects. However, from a software engineering perspective, the design and automation of activities performed in this phase are challenging. In this paper, we propose an approach to the data analysis modeling process which involves (i) the assessment of the variability inherent in the CRISP-DM data analysis modeling phase and the provision of feature models that represent this variability; (ii) the definition of a framework structural design that captures the identified variability; and (iii) evaluation of the developed framework design in terms of the possibilities for process automation. The proposed approach advances the state of the art by offering a variability-aware design solution that can enhance system flexibility, potentially leading to novel software frameworks which can significantly improve the level of automation in data analysis modeling process.
Maria Cristina Vale Tavares, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2018 The use of machine learning algorithms in recommender systems: A systematic review
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
Expert Syst. Appl.3
2017 iEnvironment: A software platform for integrated environmental monitoring and modeling of surface water
abstract
This paper describes iEnvironment, a software platform that supports monitoring and modeling of aspects of surface water. This platform supports surface water science and engineering research, especially when managing and analyzing big and open data. The system will facilitate research collaboration among science and engineering disciplines supported by computer scientists and software developers. In this paper, we briefly describe the iEnvironment architecture, highlighting its reusability and extensibility and some applications.
Paulo S. C. Alencar, Donald D. Cowan, Douglas W. Mulholland, Bruce MacVicar, Simon Courtenay, Stephen Murphy, Fred McGarry
IEEE BigData2
2017 A model for the socially smart city practical uses of city-level socio-economic indicators
abstract
There is a large amount of discussion in the literature about smart cities where the focus of the discourse is on gathering and analyzing real-time data from smart buildings, smartphones or other sensors to support public services such as vehicular traffic flow, utility consumption or to infer human behaviour. There does not appear to be any discussion of `socially' smart cities where the focus is on using citizens as `smart sensors.' Here the citizens' interactions with a city's services are captured in a timely fashion to derive socio-economic indicators about characteristics of the population relevant to sectors such as education, food security, health, housing, community participation, community safety, income levels and government and to use those as a basis for monitoring community well-being or the effectiveness of government, social service and economic policies designed to produce community improvement. This paper provides the motivation for and outline of a model for a city-level socio-economic indicator system to support the socially smart city. The model is designed to support big highly resolute community data securely. However the model is not just about capturing and analyzing the data; the model must include: deciding what data to collect, developing and communicating with community partners who supply the data and creating a governance structure to ensure that relationships with the data suppliers are maintained. The system will accept timely indicator base data from many different city and other sources and operate on that data using various software tools and maps. The data can be combined in various ways to show single indicators and relationships among indicators. In addition, multiple layers of data can be displayed on a map showing various geographic relationships. An initial version of this model and related system to collect city-level social and economic data and display appropriate socio-economic indicators while protecting individual privacy, is being deployed in a mixed urban-rural community in Southwestern Ontario, Canada. The operational site for the model can be found at myPerthHuron.ca.
Donald D. Cowan, Paulo S. C. Alencar, Kyle Young, Bryan Smale, Ryan Erb, Fred McGarry
IEEE BigData1
2016 Towards a provenance-aware spatial-temporal architectural framework for massive data integration and analysis
abstract
Spatial-temporal computing refers to the modeling, management, and analysis of spatial and temporal information. Despite the recent advances in massive data manipulation, software system approaches that support the massive spatial-temporal data integration and analysis still face numerous challenges, including the lack of: (i) a high-level architectural framework for massive data integration and analysis; (ii) explicit integration and analysis abstractions; (iii) representations of integration and analysis resources; (iv) explicit provenance representation; (v) reusability of integration and analysis steps; (vi) reproducibility of studies; and (vii) models to build and customize integration and analysis applications. This paper proposes the design and implementation of a high-level domain-specific architecture for data integration and analysis that supports building applications in the spatial-temporal domain. The proposed approach describes three types of first-class citizens, which include abstractions to represent data sources, analysis models, and integration operations. It also benefits from domain-specific languages (DSLs) for high-level representations. To make provenance explicit, the proposed approach identifies three types of provenance information, namely description, analysis, and execution, which help to address reusability and reproducibility. Finally, this approach also supports a model-driven technique to generate integration and analysis steps.
Ivens Portugal, Paulo S. C. Alencar, Donald D. Cowan
IEEE BigData3
2015 Adapting to Climate Change - An Open Data Platform for Cumulative Environmental Analysis and Management
Donald D. Cowan, Paulo S. C. Alencar, Fred McGarry, R. Mark Palmer
ICCSA (1)1
2015 JSAN: A Framework to Implement Normative Agents
abstract
Norms have become a promising mechanism to ensure that open multi-agent systems (MASs) produce a desirable social outcome.MASs can be defined as societies in which autonomous agents work to achieve both societal and individual goals.Norms regulate the behavior of agents by defining permissions, obligations and prohibitions, as well as encouraging and discouraging the fulfillment of norms through rewards and punishments mechanisms.Once the priority of software agent is the satisfaction of its own desires and goals, each agent must evaluate the effects associated to the fulfillment or violation of one or more norms before choosing which one should be complied.This paper introduces a framework for normative MASs simulation that provides mechanisms for understanding the impact of norms on an agent and the society to which an agent belongs.
Marx L. Viana, Paulo S. C. Alencar, Everton Guimarães, Francisco J. P. Cunha, Donald D. Cowan, Carlos José Pereira de Lucena
SEKE5
2015 BPMNt: A BPMN extension for specifying software process tailoring
Raquel M. Pillat, Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Donald D. Cowan
Inf. Softw. Technol.4
2015 Natural Language-based Representation of User Preferences
abstract
Preferences have been widely studied in several areas including computer science, as they play an important role in many computational tasks, such as decision making support, providing recommendations and personalizing applications. Although many approaches consider particular preference representation models to be used as input for algorithms to address these tasks, there is a need for identifying a model that provides adequate constructions for users to express their preferences. In this paper, we propose a preference meta-model that provides various preference constructs, which include end-user expressions. We start by describing an exploratory study of how people express their preferences in natural language, which provides the basis for the meta-model. After describing the meta-model, we evaluate it with two user studies in different domains. The results of this evaluation indicate that the preference statements that can be expressed with the meta-model are adequate for allowing users to indicate their preferences to a computational system.
Ingrid Nunes, Simone D. J. Barbosa, Donald D. Cowan, Simon Miles, Michael Luck, Carlos José Pereira de Lucena
Interact. Comput.3
2014 Multi-sectoral collaborative open data applications
abstract
Complex collaborative applications often involve multiple sectors and numerous heterogeneous open and private data sources. Although these applications are starting to emerge as a result of scientific and technological advances in integration and analytical data capabilities, there is a lack of
Paulo S. C. Alencar, Donald D. Cowan, Fred McGarry, R. Mark Palmer
CollaborateCom2
2014 Developing a collaborative cloud-based platform for watershed analysis and management
abstract
Water resources, which are a common good, are often negatively impacted through changing patterns of land use, land development, resource extraction and climate. Their sustainability through use and management are often shared responsibilities that involve multiple sectors, including federal and pr
Paulo S. C. Alencar, Donald D. Cowan, Fred McGarry, R. Mark Palmer
CollaborateCom2
2013 Configurable Software Product Lines - Supporting Heterogeneous Configuration Knowledge
Elder Cirilo, Uirá Kulesza, Alessandro F. Garcia 0001, Donald D. Cowan, Paulo S. C. Alencar, Carlos José Pereira de Lucena
ICSR4
2011 ReuseTool - An extensible tool support for object-oriented framework reuse
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Donald D. Cowan
J. Syst. Softw.3
2010 A Web-Based Framework for Collaborative Innovation
Donald D. Cowan, Paulo S. C. Alencar, Fred McGarry, Carlos José Pereira de Lucena, Ingrid Nunes
ISoLA (1)1
2010 Access Control Models for Business Processes
Vahid R. Karimi, Donald D. Cowan
SECRYPT2
2010 Asset-Mapping Approaches to Web-Based Collaborative Innovation
abstract
Twenty-first century global change is challenging our use and management of all resources. For a community to adapt and yet maintain and even enhance its economy and quality of life, there is a need for collaborative innovation (CI) and related action among concerned members of the community. This paper outlines the concepts of an approach to CI based on dynamic asset-mapping and its support through a web-based technological framework. Based on real-world experience with the framework, it is clear that CI takes many forms and that it is not possible to build a single set of tools to support CI. Rather a framework and a set of meta-tools is needed which can be used to build tailored systems to fit specific situations that arise when collaboration is to occur.
Donald D. Cowan, Paulo S. C. Alencar, Fred McGarry, Carlos José Pereira de Lucena, Ingrid Nunes
Web Intelligence1
2010 Decision-making coordination and efficient reasoning techniques for feature-based configuration
Marcílio Mendonça, Donald D. Cowan
Sci. Comput. Program.2
2009 Verification of Access Control Policies for REA Business Processes
abstract
Access control is a significant aspect of security and constitutes an important component of operating systems, database management systems (DBMS), and applications. Access control policies define which users have access to what objects and operations and describe any existing constraints. These policies are not only different from one organization to another but also change over time, even in a single organization. We examine the integration, not necessarily the inclusion, of these policies into business processes and consider such effects as consistency. Determining the effects of these policies can become difficult because several such policies exist, and taking into account all possible combinations or executions of these policies is tedious and error-prone. In addition, the number of policies usually increases over time and adds to the complexity of analyzing their combinations. It is acknowledged in the literature that what you specify is what you get, but that is not necessarily what you want. To show our approach, we specify certain access control policies for Resource--Event--Agent (REA) business processes and examine the addition and combination of these policies. More specifically, we illustrate the principal of separation of duties (e.g., two separate individuals must authorize ordering items and paying for them). Our main contribution is the verification of access control policies in conjunction with a REA business process.
Vahid R. Karimi, Donald D. Cowan
COMPSAC (2)2
2009 Building Service-Oriented User Agents Using a Software Product Line Approach
Ingrid Nunes, Carlos José Pereira de Lucena, Donald D. Cowan, Paulo S. C. Alencar
ICSR3
2009 Lightweight query-based analysis of workflow process dependencies
W. Dai, H. Dominic Covvey, Paulo S. C. Alencar, Donald D. Cowan
J. Syst. Softw.4
2009 An event-driven high level model for the specification of laws in open multi-agent systems
Rodrigo B. de Paes, Carlos José Pereira de Lucena, Gustavo R. de Carvalho, Donald D. Cowan
J. Syst. Softw.4
2008 Efficient compilation techniques for large scale feature models
abstract
Feature modeling is used in generative programming and software product-line engineering to capture the common and variable properties of programs within an application domain. The translation of feature models to propositional logics enabled the use of reasoning systems, such as BDD engines, for the analysis and transformation of such models and interactive configurations. Unfortunately, the size of a BDD structure is highly sensitive to the variable ordering used in its construction and an inappropriately chosen ordering may prevent the translation of a feature model into a BDD representation of a tractable size. Finding an optimal order is NP-hard and has for long been addressed by using heuristics.
Marcílio Mendonça, Andrzej Wasowski, Krzysztof Czarnecki 0001, Donald D. Cowan
GPCE4
2007 Composing pattern-based components and verifying correctness
Jing Dong 0005, Paulo S. C. Alencar, Donald D. Cowan, Sheng Yang 0002
J. Syst. Softw.3
2007 RDL: A language for framework instantiation representation
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Carlos José Pereira de Lucena, Donald D. Cowan
J. Syst. Softw.4
2007 Informal description and analysis of geographic requirements: an approach based on problems
Maria Augusta V. Nelson, Paulo S. C. Alencar, Donald D. Cowan
Softw. Syst. Model.3
2006 Authoring and Generation of Individualized Patient Education Materials
Chrysanne Di Marco, Peter Bray, H. Dominic Covvey, Donald D. Cowan, Vic Di Ciccio, Eduard H. Hovy, Joan Lipa
AMIA4
2006 Automating the analysis of design component contracts
abstract
Software patterns are a new design paradigm used to solve problems that arise when developing software within a particular context. Patterns capture the static and dynamic structure and collaboration among the components in a software design. A key promise of the pattern-based approach is that it may greatly simplify the construction of software systems out of building blocks and thus reuse experience and reduce cost. However, it also introduces significant problems in ensuring the integrity and reliability of these composed systems because of their complex software topologies, interactions and transactions. There is a need to capture these features as a contract through a formal model that allows us to analyze pattern-based designs. In this paper, we provide an overview of a formal framework for ensuring the integrity of the compositions in object-oriented designs by providing mathematically rigorous modeling and analysis techniques for object-oriented systems comprising pattern-based designs as the basic building blocks or design components. A case study related to a hypermedia Web-based application has been presented to illustrate our approach in distributed systems. Copyright © 2005 John Wiley & Sons, Ltd.
Jing Dong 0005, Paulo S. C. Alencar, Donald D. Cowan
Softw. Pract. Exp.3
2005 An approach to formal automated analysis of problem-frame concerns
Maria Augusta V. Nelson, Torsten Nelson, Paulo S. C. Alencar, Donald D. Cowan
Inf. Softw. Technol.4
2004 A behavioral analysis and verification approach to pattern-based design composition
Jing Dong 0005, Paulo S. C. Alencar, Donald D. Cowan
Softw. Syst. Model.3
2004 Agents in object-oriented software engineering
abstract
Abstract Software engineers of multi‐agent systems (MASs) are faced with different concerns such as autonomy, adaptation, interaction, collaboration, learning, and mobility, which are essentially different from classical concerns addressed in object‐oriented software engineering. MAS developers, however, have relied mostly on object‐oriented design techniques and programming languages, such as Java. This often leads to a poor separation of MAS concerns and in turn to the production of MASs that are difficult to maintain and reuse. This paper discusses software engineering approaches for MASs, and presents a new method for integrating agents into object‐oriented software engineering from an early stage of design. The proposed approach encourages the separate handling of MAS concerns, and provides a disciplined scheme for their composition. Our proposal explores the benefits of aspect‐oriented software development for the incorporation of agents into object‐oriented systems. We also illustrate our aspect‐oriented approach through the Portalware multi‐agent system, a Web‐based environment for the development of e‐commerce portals. Copyright © 2004 John Wiley & Sons, Ltd.
Alessandro F. Garcia 0001, Carlos José Pereira de Lucena, Donald D. Cowan
Softw. Pract. Exp.3
2004 Software Process Representation and Analysis for Framework Instantiation
abstract
Object-oriented frameworks are currently regarded as a promising technology for reusing designs and implementations. However, developers find there is still a steep learning curve when extracting the design rationale and understanding the framework documentation during framework instantiation. Thus, instantiation is a costly process in terms of time, people, and other resources. These problems raise a number of questions including: "How can we raise the level of abstraction in which the framework instantiation is expressed, reasoned about and implemented?" "How can the same high-level design abstractions that were used to develop the framework be used during framework instantiation instead of using source code as is done currently?" "How can we define extended design abstractions that can allow framework instantiation to be explicitly represented and validated?" We present an approach to framework instantiation based on software processes that addresses these issues. Our main goal is to represent the framework design models in an explicit and declarative way, and support changes to this design based on explicit instantiation tasks based on software processes while maintaining system integrity, invariants, and general constraints. In this way, the framework instantiation can be performed in a valid and controlled way.
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Ivan Mathias Filho, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE Trans. Software Eng.5
2004 Response to Jiau et al.'s Comments
abstract
The consistency problems in UML models and related software processes can be very complex. First, although UML supports a modeling process that should yield inter and intraconsistent models, the meaning of the UML dependencies and their specializations is not precisely defined and, for this reason, many inconsistencies may appear in their models and processes. Precise definitions would form a basis for methods to detect and analyze consistency problems related to UML dependencies and relationships, as well as problems related to software processes described in UML. In addition, we are using the UML object constraint language (OCL) to describe constraints related to the framework instantiation process. OCL is recognized as a limited language in some aspects for expressing well-formedness rules. We have presented a method (T.C. Oliveira et al., 2004) that works in the case of consistent rules and consistent instantiation processes.
Toacy Cavalcante de Oliveira, Paulo S. C. Alencar, Ivan Mathias Filho, Carlos José Pereira de Lucena, Donald D. Cowan
IEEE Trans. Software Eng.5
2003 Software Engineering for Large-Scale Multi-Agent Systems - SELMAS'2003
abstract
Objects and agents are abstractions that exhibit Points of similarity, but the development of multi-agent systems (MASs) poses other challenges to Software Engineering since software agents are inherently more complex entities. In addition, a large MAS needs to satisfy multiple stringent requirements such as reliability, trustability, security, interoperability, scalability, reusability, and maintainability. This workshop brings together researchers and practitioners to discuss the current state of the art and the future research directions in software engineering for large-scale MASs. A particular interest is to understand those issues in the agent technology that make it difficult and/or improve the production of complex distributed systems.
Carlos José Pereira de Lucena, Alberto Sardinha, Alessandro F. Garcia 0001, Alexander B. Romanovsky, Jaelson Brelaz de Castro, Paulo S. C. Alencar, Donald D. Cowan
ICSE7
2003 Formal Structure for Specifying the Content and Quality of the Electronic Health Record
abstract
We outline a systematic approach to defining, eliciting, and specifying the structure and the information content of the electronic health record (EHR). The paper presents a scheme for specifying a uniform, but extensible EHR and for eliciting both the structure and contents of this EHR. The next step will be to carry out the proposed process with health-care providers to begin to put some order into health records and to allow specifications of families of interacting HI applications.
H. Dominic Covvey, David Zitner, Daniel M. Berry, Donald D. Cowan, Michael A. Shepherd
RE4
2002 EPHIP: An Innovative Program for Health Informatics Education
Janice E. MacNeill, H. Dominic Covvey, Donald D. Cowan, Shirley L. Fenton
AMIA3
2002 Taming access control security: extending capabilities using the views relationship
abstract
Abstract The ‘views’ relationship indicates how an object‐oriented design can be clearly separated into objects and their corresponding interface. This paper uses the concept of ‘views’ in order to achieve full separation between the application and the security policy in the design and implementation. The result is achieved by providing a model for capabilities using ‘views’ that is richer than the traditional capability model. In addition, a distributed access control model is shown to be effective through the use of Secure Object Communication Channels (SOCCs) to allow for secure connections at the abstract object level. This security is applicable in the e‐commerce application domain, bringing security directly to the application abstraction level. Copyright © 2002 John Wiley & Sons, Ltd.
Marcus E. Markiewicz, Carlos José Pereira de Lucena, Donald D. Cowan
Softw. Pract. Exp.3
2002 A Logical Theory of Interfaces and Objects
abstract
This paper motivates and describes a logic-based approach to specifying and reasoning about interfaces and objects that focuses on separation of concerns issues. The approach is based on the abstract design view (ADV), a software design model for object-oriented systems. The model was originally introduced to characterize, in an informal and practical setting, a clear separation between objects, which we called abstract design objects and their interfaces (ADVs). The objects capture the basic concern, while the interfaces capture special concerns such as user interface, control, timing, and distribution. First, we analyze the ADV design model in order to precisely characterize the interfaces, their associated objects, and the relationship between them. Then, we present one possible approach to formalizing interfaces, objects, and the "views-a" relationship. The central mathematical tools used for this purpose are temporal logic and some tools from the category theory. The formal approach is illustrated by examples that show how the interface and related objects and the views-a relationship can be used in object-oriented specifications. We also show how the theory enables the designer to perform relevant analysis activities while modeling with separation of concerns in mind. The theory can be used to derive dynamic and structural properties of the interface objects and the views-a relationship. In particular, we can use the theory to derive global properties of interfaces that capture special concerns from the local properties of their related objects.
Paulo S. C. Alencar, Donald D. Cowan, Carlos José Pereira de Lucena
IEEE Trans. Software Eng.2
2001 Geographic Problem Frames
abstract
We present a set of problem frames specialized to the area of geographic applications. Problem frames describe the elements of common problems, and help a specifier understand and decompose a complex problem into simpler subproblems for which a solution is often known. We provide an overview of the main issues in geographic applications, and present twelve frames that address many of the problems in the area.
Maria Augusta V. Nelson, Donald D. Cowan, Paulo S. C. Alencar
RE2
2000 A Model for Describing Object-Oriented Systems from Multiple Perspectives
Torsten Nelson, Donald D. Cowan, Paulo S. C. Alencar
FASE2
2000 Using viewpoints to derive object-oriented frameworks: a case study in the web-based education domain
Marcus Fontoura, Sérgio Crespo C. S. Pinto, Carlos José Pereira de Lucena, Paulo S. C. Alencar, Donald D. Cowan
J. Syst. Softw.5
1999 A Pattern-Based Approach to Structural Design Composition
abstract
This paper describes an approach to component-based software engineering based on a formal description of design patterns. The architectural design information, captured by design patterns, is made explicit and represented in a declarative way, being packaged into tangible artifacts as building block design components in the development process. These design component descriptions can be instantiated, adapted, assembled, implemented, and maintained. Furthermore, we can use these representations to reason about properties related to the combination of design components. We illustrate the utility of our approach through a case study involving various design patterns.
Paulo S. C. Alencar, Donald D. Cowan, Jing Dong 0005, Carlos José Pereira de Lucena
COMPSAC2
1997 Viewpoints as an evolutionary approach to software system maintenance
abstract
We describe a black box approach to software system evolution where viewpoints are used to alter a design without modifying the original system. A viewpoint is a model, possibly incomplete, of a domain from a given perspective. We discuss the views-an operator and its semantics, and then apply the concepts to the NACHOS file system as a case study. We believe the approach can be applied to existing object oriented software systems, and serve as a guide for developing systems which are more easily maintained. This case study is an example of an application of a more general transformational approach to software design and implementation
Paulo S. C. Alencar, Donald D. Cowan, Torsten Nelson, Carlos José Pereira de Lucena
ICSM2
1996 IUP/LED: A Portable User Interface Development Tool
abstract
To be added when journal hard copy located (also figct,tabct & refct) (not provided by typesetter)
C. H. Levy, Luiz Henrique de Figueiredo, Marcelo Gattass, Carlos José Pereira de Lucena, Donald D. Cowan
Softw. Pract. Exp.5
1995 Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse
abstract
The abstract data view (ADV) design model was originally created to specify clearly and formally the separation of the user interface from the application component of a software system, and to provide a systematic design method that is independent of specific application environments. Such a method should lead to a high degree of reuse of designs for both interface and application components. The material presented, extends the concept of ADV's to encompass the general specification of interfaces between application components in the same or different computing environments. This approach to specifying interfaces clearly separates application components from each other, since they do not need to know how they are used, or how they obtain services from other application components. Thus, application components called abstract data objects (ADOs), are designed to minimize knowledge of the environment in which they are used and should be more amenable to reuse.>
Donald D. Cowan, Carlos José Pereira de Lucena
IEEE Trans. Software Eng.1
1994 Enhancing Code for Readability and Comprehension Using SGML
abstract
Reading and understanding programs is a key activity in software reengineering, development, and maintenance. The ability of people to understand programs is directly related to the ease with which the source code and documentation can be read. Thus, enhancements to the style of presentation should heighten this comprehensibility. We describe methods that use markup languages such as SGML to embed information about the syntax and semantics of a program in the program code, and then show how these can be used to enhance its presentation style. We also briefly discuss the extension of these markup language concepts to text databases, and indicate how they can support various structural views of the code through browsing techniques associated with database queries.>
Donald D. Cowan, Daniel M. Germán, Carlos José Pereira de Lucena, Arndt von Staa
ICSM1
1993 An Introduction to the OSI Directory Services
Peter Bumbulis, Donald D. Cowan, C. M. Durance, Terry M. Stepien
Comput. Networks ISDN Syst.2
1993 CIRL/PIWI: a GUI Toolkit Supporting Retargetability
abstract
Abstract Writing applications that are easily moved to various computer platforms with different graphical user interfaces (GUIs) is a complex task. Yet this concept is important for the creator of commercial software, as it is not likely to be clear for many years whether one or two GUIs will survive and become industry ‘standards’ or whether the growth in GUIs will continue because of new developments in human‐computer interfaces. Providing a user interface abstraction that maps into all toolkits seems to be an appropriate way to proceed, but is fraught with difficulty. For example, different GUIs present a different look‐and‐feel that often causes system‐specific information to be embedded in an application. This paper surveys the problems inherent in designing a user interface abstraction, and describes the experiences gained from a specific implementation called CIRL/PIWI. CIRL and PIWI are acronyms for Co‐ordinate‐Independent Resource Language and Presentation‐Independent Windowed Interface. The user interface abstraction contains a knowledge base that allows many components of the user interface to be defined independent of look‐and‐feel thereby increasing the portability of an application.
Donald D. Cowan, C. M. Durance, E. Giguère, G. M. Pianosi
Softw. Pract. Exp.1
1993 Application Integration: Constructing Composite Applications from Interactive Components
abstract
Abstract Creating new applications by integrating user interface and application components is a relatively new idea which is currently of wide interest. A significant part of this problem is clearly defining the separation between user interface and application components. This paper proposes a new design methodology based on the concept of an abstract data view (ADV), a structuring method which cleanly defines this separation. A number of examples of composite interactive documents, ones which could contain several different user interfaces with entities such as text, calculations, drawings and possibly even multi‐media presentations, illustrate the ADV concept. These examples lead naturally to the introduction of the concept ofhole, a user interface area in a composite interactive document which is managed by an external program, and uses ADVs. Prototypes of a number of systems supporting ADVs and holes are currently running in our laboratory.
Donald D. Cowan, Terry M. Stepien, Roberto Ierusalimschy, Carlos José Pereira de Lucena
Softw. Pract. Exp.1
1988 A network operating system for interconnected LANs with heterogeneous data-link layers
abstract
Microcomputer workstations interconnected by local area networks (LANs) are used extensively for educational computing at the University of Waterloo, Canada. The authors present the user's view of both the Waterloo JANET LAN and the Project ARIES Network to understand the motivation behind the underlying LAN structure. This is followed by a description of the method of interconnection of the LANs, the addressing conventions used, and the implementation of the network operating system. Because of the variation in data-link layers, many of which did not follow the current standards, it was necessary to construct a network operating system which would tolerate their differences. This network operating system was implemented using the message-passive paradigm.>
Donald D. Cowan, Terry M. Stepien, R. G. Veitch
LCN1
1988 Networks for Education at the University of Waterloo
Donald D. Cowan, Shirley L. Fenton, J. Wesley Graham, Terry M. Stepien
Comput. Networks1
1984 The Data Transform Programming Metho: An Example for File Processing Problems
Carlos José Pereira de Lucena, R. C. B. Martins, Paulo A. S. Veloso, Donald D. Cowan
ICSE4
1984 UNISPEX - A Unified Model for Protocol Specification and Verification
Son T. Vuong, Donald D. Cowan
INFOCOM2
1983 Reachability analysis of protocols with FIFO channels
Son T. Vuong, Donald D. Cowan
SIGCOMM2
1980 The development proposal: The first step in software system construction
Arndt von Staa, Donald D. Cowan
J. Syst. Softw.2
1980 A Data-directed Approach to Program Construction
abstract
Abstract The present paper discusses a method of program construction based on the specification of the data types. The input and output data types and the mapping between them are specified at a high level of abstraction and this non‐procedural specification is used to develop a program schema. The data type and mapping specifications are modified to include a concrete representation of the data and these are used to expand the program schema into a program. A graphical representation for data and program specifications is also introduced and it is shown how this can simplify the techniques and be very useful in program construction. The method is illustrated by developing two programs—the line justifier program described by Gries and the bubblesort.
Donald D. Cowan, J. Wesley Graham, James W. Welch, Carlos José Pereira de Lucena
Softw. Pract. Exp.1
1976 Toward a System's Environment for Computer Assisted Programming
Carlos José Pereira de Lucena, Donald D. Cowan
Inf. Process. Lett.2
1974 A lower bound on the average shortest path length in regular graphs
Vint Cerf, Donald D. Cowan, Ronald C. Mullin, Ralph Gordon Stanton
Networks2
1970 A complete package for introducing computer science
abstract
Faced with the challenge of teaching large numbers of students without sacrificing quality, we have developed a complete “package” for teaching introductory computer science. This package consists of textbooks, notes, problem sets, lab-tutorial arrangements, instructional software, and visual aids for lectures, all developed at the University of Waterloo.
P. C. Brillinger, Donald D. Cowan
SIGCSE2
1970 A large-scale undergraduate programme in computer science
abstract
In the early 1960's, the University of Waterloo recognized a growing need in society both for computer specialists and for non-specialists having some familiarity with computers. Programmes initiated at that time have grown so rapidly that computer science courses are now attended by approximately 4000 Waterloo undergraduates, about 1000 of whom may be regarded as computer science majors.Courses have been designed upon the premise that hands-on experience is one of the most effective vehicles for teaching the practice of computer science. Many of the courses require that a student write programmes and run between 100 and 500 jobs through the computer. The objective of providing prompt service to student programmers entailed major operational difficulties for the University Computing Centre as the volume of work approached a level of 1 million student jobs per year.
Donald D. Cowan, R. B. Roden
SIGCSE1