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

Gregory Butler

dblp:b/GregoryButler · also Greg Butler · DBLP profile ↗
← Back
59ranked-venue papers
25as first author
2since 2021 · last 2022
0000-0002-6938-0879ORCID · corroborated

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

Software engineering, systems software and programming languages · 17 · 8 first-authorApplied, interdisciplinary, general and emerging computing · 17 · 1 first-author · 2 since 2021Databases, data management, data science and information retrieval · 12 · 5 first-authorTheory of computation · 11 · 11 first-authorSystems, architecture and hardware · 2 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 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.

Software engineering, system software, and programming languages
3 papers
Software maintenance and evolution · 52% Requirements engineering and software design · 39% Programming languages and type systems · 9%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computing education · 100%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
refactoring
0.012004
Refactoring Use Case Models on Episodes · ASE 2004
Requirements engineering and software design
software product lines
0.012001
Generative Techniques for Product Lines · ICSE 2001
Computing education
intelligent tutoring systems
0.011995
An Intelligent Tutoring System for the Dijkstra-Gries Methodology · IEEE Trans. Software Eng. 1995
Programming languages and type systems
object-oriented programming
0.011995
An Intelligent Tutoring System for the Dijkstra-Gries Methodology · IEEE Trans. Software Eng. 1995
Programming languages and type systems › object-oriented programming
smalltalk
0.011995
An Intelligent Tutoring System for the Dijkstra-Gries Methodology · IEEE Trans. Software Eng. 1995
Requirements engineering and software design
software design methodology
0.011995
An Intelligent Tutoring System for the Dijkstra-Gries Methodology · IEEE Trans. Software Eng. 1995

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

generative programming · 0.0object-oriented paradigm · 0.0goal/plan approach · 0.0
YearPublicationVenuePosition
2022 Predicting the specific substrate for transmembrane transport proteins using BERT language model
abstract
Transmembrane transport proteins play a vital role in cells' metabolism by the selective passage of substrates through the cell membrane. Metabolic network reconstruction requires transport reactions that describe the specific substrate transported as well as the metabolic reactions of enzyme catalysis. In this paper, we apply BERT (Bidirectional Encoder Representations from Transformers) language model for protein sequences to predict one of 12 specific substrates. Our UniProt-ICAT-100 dataset is automatically constructed from UniProt using the ChEBI and GO ontologies to identify 4,112 proteins transporting 12 inorganic anion or cation substrates. We classified this dataset using three different models including Logistic Regression with an MCC of 0.81 and accuracy of 97.5%; Feed-forward Neural Networks classifier with an MCC of 0.88 and accuracy of 98.5%. Our third model utilizes a Fine-tuned BERT language model to predict the specific substrate with an MCC of 0.95 and accuracy of 99.3% on an independent test set.
Sima Ataei, Gregory Butler
CIBCB2
2022 TooT-BERT-M: Discriminating Membrane Proteins from Non-Membrane Proteins using a BERT Representation of Protein Primary Sequences
abstract
Membrane proteins account for approximately 30% of all proteins in a cell. These proteins are difficult to study due to their hydrophobic surface and reliance on the original in vivo environment. This paper proposes TooT-BERT-M, a technique for detecting membrane proteins based on the Bidirectional Encoder Representations from Transformers (BERT) representation. BERT is a technique for learning contextual embeddings for individual amino acids in a protein sequence. We trained a Logistic Regression to discriminate membrane proteins from non-membrane proteins and obtained a classification accuracy of 92.46% and an MCC of 0.85. Additionally, we compared frozen and fine-tuned BERT representations to determine which should be used for membrane protein identification. The results are cutting-edge in predicting membrane proteins and statistically significant compared to previous work.
Hamed Ghazikhani, Gregory Butler
CIBCB2
2020 TportHMM: Predicting the substrate class of transmembrane transport proteins using profile Hidden Markov Models
abstract
Transporters make up a large proportion of proteins in a cell, and play important roles in metabolism, regulation, and signal transduction by mediating movement of compounds across membranes. There is a need for tools that predict the substrates which are transported at the level of substrate class and the level of specific substrate. Our work develops a predictor, TportHMM, using profile Hidden Markov Model (HMM). We explore the role of multiple sequence alignment (MSA) algorithms to utilise evolutionary information, specificity-determining site (SDS) algorithms to highlight positional information, and a profile Hidden Markov Model (HMM) classifier to utilise sequence information. We study the impact of different MSA algorithms (ClustalW, Clustal Omega, MAFFT, MUSCLE, AQUA, T-Coffee and TMCoffee), and different SDS algorithms (Speer Server, GroupSim, Xdet and TCS). We compare these approaches with the stateof-the-art, TrSSP and TranCEP.
Shiva Shamloo, Gregory Butler
BIBM3
2020 Integrative approach for detecting membrane proteins
abstract
BACKGROUND: Membrane proteins are key gates that control various vital cellular functions. Membrane proteins are often detected using transmembrane topology prediction tools. While transmembrane topology prediction tools can detect integral membrane proteins, they do not address surface-bound proteins. In this study, we focused on finding the best techniques for distinguishing all types of membrane proteins. RESULTS: This research first demonstrates the shortcomings of merely using transmembrane topology prediction tools to detect all types of membrane proteins. Then, the performance of various feature extraction techniques in combination with different machine learning algorithms was explored. The experimental results obtained by cross-validation and independent testing suggest that applying an integrative approach that combines the results of transmembrane topology prediction and position-specific scoring matrix (Pse-PSSM) optimized evidence-theoretic k nearest neighbor (OET-KNN) predictors yields the best performance. CONCLUSION: The integrative approach outperforms the state-of-the-art methods in terms of accuracy and MCC, where the accuracy reached a 92.51% in independent testing, compared to the 89.53% and 79.42% accuracies achieved by the state-of-the-art methods.
Munira Alballa, Gregory Butler
BMC Bioinform.2
2020 TooT-T: discrimination of transport proteins from non-transport proteins
abstract
BACKGROUND: Membrane transport proteins (transporters) play an essential role in every living cell by transporting hydrophilic molecules across the hydrophobic membranes. While the sequences of many membrane proteins are known, their structure and function is still not well characterized and understood, owing to the immense effort needed to characterize them. Therefore, there is a need for advanced computational techniques takes sequence information alone to distinguish membrane transporter proteins; this can then be used to direct new experiments and give a hint about the function of a protein. RESULTS: This work proposes an ensemble classifier TooT-T that is trained to optimally combine the predictions from homology annotation transfer and machine-learning methods to determine the final prediction. Experimental results obtained by cross-validation and independent testing show that combining the two approaches is more beneficial than employing only one. CONCLUSION: The proposed model outperforms all of the state-of-the-art methods that rely on the protein sequence alone, with respect to accuracy and MCC. TooT-T achieved an overall accuracy of 90.07% and 92.22% and an MCC 0.80 and 0.82 with the training and independent datasets, respectively.
Munira Alballa, Gregory Butler
BMC Bioinform.2
2019 Ontology-based transporter substrate annotation for benchmark datasets
abstract
Construction of benchmark datasets for supervised learning requires a label or class to be assigned to each datapoint. This is done by the constructor of the dataset in those cases where the label is not directly taken from a reference source. In transporter substrate prediction, during the dataset construction step, a class is assigned to each protein that reflects the substrate transported across the biological membrane. This substrate class assignment is typically conducted through manual curation process in which details regarding the assignment are not explained. Biological databases are consistently growing and many entries are updated; therefore, automating the data collection stage is desirable. This work aims to automate the transporter substrate data collection process in a consistent and reproducible manner, and eliminate external dataset curator judgment. To achieve this, we propose an automated tool that assigns a substrate class by using available annotations and delegating the broader class assignment to previously established ontologies. Two case studies have been used to evaluate the automation tool and to analyze the available number of substrates in the current biological databases.
Munira Alballa, Gregory Butler
BIBM2
2017 SynAPhy and SynAVal: Mining a Synteny-Similarity Graph to Resolve Orthology of Proteins in Fungal Genomes
abstract
Phylogenomics is the study of evolution of proteins and the genomic events of speciation, duplication, horizontal gene transfer, and gene loss. It is critical to distinguish between orthologs created by speciation, and paralogs created by duplication, in order to accurately predict the function of a protein using annotation transfer by homology. In an age where complete genomes are available, we leverage synteny, the genomic context of a gene, for resolving orthology. We introduce the synteny-similarity graph. We present SynAPhy, a novel graph-based approach for clustering proteins. SynAPhy computes the “syntenic reciprocal best hits” of proteins across genomes. The synteny-similarity graphs are input to the MCL algorithm to determine orthologous clusters across genomes. There is no gold standard genome scale dataset to evaluate the capability of SynAPhy in generating orthologous clusters. We therefore present SynAVal, an evaluation framework that can be applied to an orthology prediction technique. The results of applying SynAVal on eight fungal genomes show that SynAVal with synteny resolution can successfully resolve potential confusions raised by 8.98% of all proteins, and resolve 23.33% of the subset of the proteins likely to cause confusions.
Christine Kehyayan, Gregory Butler
BIBE2
2016 Improving GraphChi for Large Graph Processing: Fast Radix Sort in Pre-Processing
abstract
This paper considers GraphChi, a system for processing large graphs on single modern PCs, as a case study. GraphChi uses a "parallel sliding window" method. This requires that vertices and edges be assigned into similarly sized shards whose contents are sorted to allow for sliding, maintaining locality of access to nodes. GraphChi uses an expensive onetime pre-processing step. For example, the twitter-2010 graph with 42M nodes and 1.5B edges takes ten minutes to pre-process and just under three minutes for a single-pass of the PageRank algorithm.
Stuart Thiel, Gregory Butler, Larry H. Thiel
IDEAS2
2015 A visual spreadsheet using HTML5 for whole genome display
abstract
There is a need for tools for the visualization of the data collected about a whole genome such as genes, proteins, Gene Ontology annotations, and expression data. We have developed CGene and CGenome, pronounced See-Gene and See-Genome respectively as HTML5 web-based spreadsheets that can incorporate visual displays, as well as text, within the spreadsheet cells. We use Scalable Vector Graphics (SVG) to present gene models, protein domain architectures, gene location, and GO Slim profiles in the spreadsheets. These are generated from standard GFF3 files, standard output files from InterProScan, AspGD Gene Ontology Annotations File, and Chromosomal Feature File. Our research group studies fungal genomes, so CGene and CGenome are tested by displaying each of the Aspergilli genomes in the AspGD database (www.aspgd.org).
Nada Alhirabi, Gregory Butler
CIBCB2
2015 On predicting transport proteins and their substrates for the reconstruction of metabolic networks
abstract
The reconstruction of a metabolic network is a key step in systems biology and synthetic biology. A genome-scale network reconstruction builds a map to represent the gene-protein-reaction (GPR) association between the genes, the proteins which are the gene products, to the reaction that is carried out by the protein. For metabolism, the reaction is a metabolic reaction, and the protein is an enzyme catalysing the reaction. The transport of substrates across membranes is modeled by transport reactions. For higher organisms, the cellular compartments are important, so models include the extracellular space, the cytosol, the mitochondrion, and sometimes the peroxisome. The prediction of transport proteins for the GPR association, in particular, the specific substrate, or substrates, the protein transports across the membrane, and which membrane, is not as developed as the prediction of the GPR association for enzymes. In this paper, we illustrate the deficiencies in the state-of-the-art, and present our initial work to improve the prediction of GPR associations for transmembrane transporters.
Faizah Aplop, Gregory Butler
CIBCB2
2015 Accelerating Search of Protein Sequence Databases using CUDA-Enabled GPU
Gregory Butler
DASFAA (1)2
2014 A review of genomic data warehousing systems
abstract
To facilitate the integration and querying of genomics data, a number of generic data warehousing frameworks have been developed. They differ in their design and capabilities, as well as their intended audience. We provide a comprehensive and quantitative review of those genomic data warehousing frameworks in the context of large-scale systems biology. We reviewed in detail four genomic data warehouses (BioMart, BioXRT, InterMine and PathwayTools) freely available to the academic community. We quantified 20 aspects of the warehouses, covering the accuracy of their responses, their computational requirements and development efforts. Performance of the warehouses was evaluated under various hardware configurations to help laboratories optimize hardware expenses. Each aspect of the benchmark may be dynamically weighted by scientists using our online tool BenchDW (http://warehousebenchmark.fungalgenomics.ca/benchmark/) to build custom warehouse profiles and tailor our results to their specific needs.
Thomas Triplet, Gregory Butler
Briefings Bioinform.2
2014 SnowyOwl: accurate prediction of fungal genes by using RNA-Seq and homology information to select among ab initio models
abstract
BACKGROUND: Locating the protein-coding genes in novel genomes is essential to understanding and exploiting the genomic information but it is still difficult to accurately predict all the genes. The recent availability of detailed information about transcript structure from high-throughput sequencing of messenger RNA (RNA-Seq) delineates many expressed genes and promises increased accuracy in gene prediction. Computational gene predictors have been intensively developed for and tested in well-studied animal genomes. Hundreds of fungal genomes are now or will soon be sequenced. The differences of fungal genomes from animal genomes and the phylogenetic sparsity of well-studied fungi call for gene-prediction tools tailored to them. RESULTS: SnowyOwl is a new gene prediction pipeline that uses RNA-Seq data to train and provide hints for the generation of Hidden Markov Model (HMM)-based gene predictions and to evaluate the resulting models. The pipeline has been developed and streamlined by comparing its predictions to manually curated gene models in three fungal genomes and validated against the high-quality gene annotation of Neurospora crassa; SnowyOwl predicted N. crassa genes with 83% sensitivity and 65% specificity. SnowyOwl gains sensitivity by repeatedly running the HMM gene predictor Augustus with varied input parameters and selectivity by choosing the models with best homology to known proteins and best agreement with the RNA-Seq data. CONCLUSIONS: SnowyOwl efficiently uses RNA-Seq data to produce accurate gene models in both well-studied and novel fungal genomes. The source code for the SnowyOwl pipeline (in Python) and a web interface (in PHP) is freely available from http://sourceforge.net/projects/snowyowl/.
Ian D. Reid 0002, Nicholas O'Toole, Omar Zabaneh, Reza Nourzadeh, Mahmoud Dahdouli, Mostafa Abdellateef, Paul M. K. Gordon, Jung Soh, Gregory Butler, Christoph W. Sensen, Adrian Tsang
BMC Bioinform.9
2013 The impact of SignalP 4.0 on the prediction of secreted proteins
abstract
Secreted proteins play important roles in eukaryotes across each of the kingdoms of fungi, animals, plants and protists. The majority of secreted proteins are signal peptide dependent proteins so their prediction relies on the SignalP family of predictors for signal peptides. The recent release of SignalP 4.0 prompts the question of its impact on the prediction of secreted proteins when compared to current approaches utilising SignalP 3.0. We performed comparisons of SignalP 4.0 and SignalP 3.0 when used alone or in combination with other tools. We used a large dataset for each of the four kingdoms. Results are reported for sensitivity, specificity, and Matthews Correlation Coefficient (MCC) in each case. In terms of MCC, the best performance of any combination of tools always involved SignalP 4.0. In particular for the plant and protist kingdoms there were notable gains due to the use of SignalP 4.0.
Hind Melhem, Xiang Jia Min, Gregory Butler
CIBCB3
2013 An approach to controlling user models and personalization effects in recommender systems
abstract
Personalization nowadays is a commodity in a broad spectrum of computer systems. Examples range from online shops recommending products identified based on the user's previous purchases to web search engines sorting search hits based on the user browsing history. The aim of such adaptive behavior is to help users to find relevant content easier and faster. However, there are a number of negative aspects of this behavior. Adaptive systems have been criticized for violating the usability principles of direct manipulation systems, namely controllability, predictability, transparency, and unobtrusiveness. In this paper, we propose an approach to controlling adaptive behavior in recommender systems. It allows users to get an overview of personalization effects, view the user profile that is used for personalization, and adjust the profile and personalization effects to their needs and preferences. We present this approach using an example of a personalized portal for biochemical literature, whose users are biochemists, biologists and genomicists. Also, we report on a user study evaluating the impacts of controllable personalization on the usefulness, usability, user satisfaction, transparency, and trustworthiness of personalized systems.
Fedor Bakalov, Marie-Jean Meurs, Birgitta König-Ries, Bahar Sateli, René Witte, Gregory Butler, Adrian Tsang
IUI6
2013 Pattern Language Verification in Model Driven Design
Bahman Zamani, Gregory Butler
Inf. Sci.2
2012 Personalized semantic assistance for the curation of biochemical literature
abstract
The number of scientific publications available in multiple repositories is huge and rapidly growing. Accessing this information is of critical importance to conducting research and designing experiments. However, retrieving data of particular interest for a specific research field in such a large volume of publications is often like looking for a needle in a haystack. We present a web platform that supports researchers in navigating and curating biochemical literature. Our platform provides a single-point of access to abstracts of publications harvested from multiple databases and supports further analysis of these abstracts. It also allows users to obtain a personalized view of the literature and its semantic analysis results.
Fedor Bakalov, Marie-Jean Meurs, Birgitta König-Ries, Bahar Sateli, René Witte, Gregory Butler, Adrian Tsang
BIBM6
2012 ECTree: an extended tree index for attributed subgraph queries
abstract
Graphs are popular data structures for modeling complex data types. There is a need for managing such graph data and providing efficient querying tools. In the graph mining realm, the problem lies in indexing a large number of graphs for fast retrieval. Indexing attributed graphs and using attributed queries can provide faster response time and results that are more refined.
Gregory Butler
IDEAS2
2012 The EnzymeTracker: an open-source laboratory information management system for sample tracking
abstract
BACKGROUND: In many laboratories, researchers store experimental data on their own workstation using spreadsheets. However, this approach poses a number of problems, ranging from sharing issues to inefficient data-mining. Standard spreadsheets are also error-prone, as data do not undergo any validation process. To overcome spreadsheets inherent limitations, a number of proprietary systems have been developed, which laboratories need to pay expensive license fees for. Those costs are usually prohibitive for most laboratories and prevent scientists from benefiting from more sophisticated data management systems. RESULTS: In this paper, we propose the EnzymeTracker, a web-based laboratory information management system for sample tracking, as an open-source and flexible alternative that aims at facilitating entry, mining and sharing of experimental biological data. The EnzymeTracker features online spreadsheets and tools for monitoring numerous experiments conducted by several collaborators to identify and characterize samples. It also provides libraries of shared data such as protocols, and administration tools for data access control using OpenID and user/team management. Our system relies on a database management system for efficient data indexing and management and a user-friendly AJAX interface that can be accessed over the Internet. The EnzymeTracker facilitates data entry by dynamically suggesting entries and providing smart data-mining tools to effectively retrieve data. Our system features a number of tools to visualize and annotate experimental data, and export highly customizable reports. It also supports QR matrix barcoding to facilitate sample tracking. CONCLUSIONS: The EnzymeTracker was designed to be easy to use and offers many benefits over spreadsheets, thus presenting the characteristics required to facilitate acceptance by the scientific community. It has been successfully used for 20 months on a daily basis by over 50 scientists. The EnzymeTracker is freely available online at http://cubique.fungalgenomics.ca/enzymedb/index.html under the GNU GPLv3 license.
Thomas Triplet, Gregory Butler
BMC Bioinform.2
2011 Table-Driven Detection and Resolution of Operation-Based Merge Conflicts with Mirador
Stephen C. Barrett, Patrice Chalin, Gregory Butler
ECMFA3
2010 Issues with the PipeAlign phylogenomics toolkit in identifying protein subfamilies
abstract
Automated protein function annotation is extremely important in computational biology for its low cost. Standard sequence similarity comparison methods for annotation have limited specificity in identifying orthologs and paralogs. Phylogenomic methods are gaining popularity for their role in identifying orthologs and paralogs with the help of evolutionary information and sequence data. Pipelines have been developed for phylogenomic classification of proteins. Two such pipelines are PhyloFacts and PipeAlign. Given a protein of interest, these pipelines identify functional subfamilies for the protein superfamily. Subfamilies hold orthologs and paralogs and can later be used to identify orthologous groups. We evaluate the performance of PipeAlign with respect to both consistency in the generated subfamilies and phylogeny. We use the predefined subfamilies of PhyloFacts as a reference to compare the generated subfamilies of related reference sequences in PipeAlign. In the consistency analysis, we compare the compositions of the generated functional subfamilies with different related reference sequences, and use the predefined PhyloFacts subfamilies for the corresponding sequences as a measure of consistency. In the phylogenetic analysis, we compare the evolutionary distances of the members of the same and different generated subfamilies from PipeAlign.
Christine Kehyayan, Gregory Butler
CIBCB2
2010 A regression tree-based Gibbs sampler to learn the regulation programs in a transcription regulatory module network
abstract
Many algorithms have been proposed to learn transcription regulatory networks from gene expression data. Bayesian networks have obtained promising results, in particular, the module network method. The genes in a module share a regulation program (regression tree), consisting of a set of parents and conditional probability distributions. Hence, the method significantly decreases the search space of models and consequently avoids overfitting. The regulation program of a module is normally learned by a deterministic search algorithm, which performs a series of greedy operations to maximize the Bayesian score. The major shortcoming of the deterministic search algorithm is that its result may only represent one of several possible regulation programs. In order to account for the model uncertainty, we propose a regression tree-based Gibbs sampling algorithm for learning regulation programs in module networks. The novelty of this work is that a set of tree operations is defined for generating new regression trees from a given tree and we show that the set of tree operations is sufficient to generate a well mixing Gibbs sampler even in large data sets. The effectiveness of our algorithm is demonstrated by the experiments in synthetic data and real biological data.
Jianlong Qi, Tom Michoel, Gregory Butler
CIBCB3
2009 Describing Pattern Languages for Checking Design Models
abstract
Many designers use the patterns of a pattern language in creating the design model. In designing with patterns, there are three aspects of the pattern language that must be taken into consideration: structural, syntactic, and semantic. That means, the patterns must be applied correctly, the relationship between patterns must be correct, and the design model must be semantically correct. The syntactic aspect is important for pattern languages due to the fact that the patterns in a pattern language are interconnected via several relationships. To achieve automatic design model checking, the three aspects of a pattern language must be precisely defined. We propose formalisms for representing the structural, syntactic, and semantic aspects of a pattern language. As our case study, we select a pattern language in the domain of enterprise application architecture, and show how the pattern language is described using the proposed formalism.
Bahman Zamani, Gregory Butler
APSEC2
2009 Merging of Use Case Models: Semantic Foundations
abstract
Use case models are the artifact of choice for capturing functional requirements. This typically collaborative activity makes merging a necessity. Use cases however, are often neglected when it comes to model merging, since they are commonly treated as text only items. By defining a formal syntax and semantics for use case models, manipulated within a generic metamodel for operation-based merging, we show how use case models can be effectively merged. This formal foundation allows for the modeling of use cases; defining meaningful change operations on them; and for detecting modeling inconsistencies, inconformities, and conflicts. Several practical examples validate the concepts presented: existing and planned tool support is introduced.
Stephen C. Barrett, Daniel Sinnig, Patrice Chalin, Gregory Butler
TASE4
2008 A Pattern Language Verifier for Web-Based Enterprise Applications
Bahman Zamani, Sahar Kayhani, Gregory Butler
MoDELS3
2006 Query Optimization for a Graph Database with Visual Queries
Gregory Butler, Liqian Zou
DASFAA1
2006 Semantic web infrastructure for fungal enzyme biotechnologists
Christopher J. O. Baker, Arash Shaban-Nejad, Volker Haarslev, Gregory Butler
J. Web Semant.5
2005 A graph database with visual queries for genomics
Gregory Butler, Liqian Zou
APBC1
2005 The FungalWeb Ontology: Semantic Web Challenges in Bioinformatics and Genomics
Arash Shaban-Nejad, Christopher J. O. Baker, Volker Haarslev, Gregory Butler
ISWC4
2004 Use Case Refactoring: A Tool and a Case Study
abstract
Use case models are widely used for requirements engineering to capture functional and nonfunctional requirements, guide scenario-based design and validation, and to manage projects. Our tool for use case development and evolution supports reorganization (refactoring) of use case models as well as the extension of use case models to include new functional and nonfunctional requirements. The tool is based on a three-level metamodel covering the environment or context of a use case model, the structure of use cases, and the event or message-passing details of a scenario. In this paper we describe the tool that we have developed, and demonstrate its application to a case study for bank teller machines (ATMs). We show that the concept of refactoring can be applied to use case models as an aid to their development and evolution. We are now working on a firm semantic foundation for use cases in order to verify the behaviour-preserving property of individual refactorings.
Kexing Rui, Gregory Butler
APSEC4
2004 Experimental Studies of Scalability in Clustered Web Systems
abstract
Summary form only given. As the Internet is becoming more robust with the addition of new services such as audio and video streaming, e-commerce, and news casting, the traditional Web server architecture is unable to keep up with the increasing demands and requisites of such new services. This situation has created a need for secure, reliable, highly available, and scalable Web servers that rely on clustering technologies to be able to meet the growth in the user base and offered services. Our work is concerned with scalability and performance of clustered Web systems based on open technologies. We study the scalability of clustered Web servers and HTTP traffic distribution methods through an experimental testbed and present the results of a series of experiments we conducted to benchmark the performance and scalability of a clustered Web system. We describe the prototyped target cluster and its components; the benchmarking methodology, metrics, and test scenarios; and the performance and scalability test results. The results demonstrate nonlinear scalability. We use these results to better understand scalability and performance issues in clustered systems. In future work, we aim to design and build linearly scalable Web server platforms within the concept of next generation Internet server.
Ibrahim Haddad, Gregory Butler
IPDPS2
2004 Refactoring Use Case Models on Episodes
Gregory Butler
ASE3
2004 GUPFS: The Global Unified Parallel File System Project at NERSC
Gregory Butler, Rei Lee, Mike Welcome
MSST1
2003 Implementing Exception Handling Policies for Workflow Management System
abstract
Exceptions are deviations from the normal execution of the program. They occur frequently in programs. In modern programming languages exceptions are separated from the normal execution using try-catch blocks and whenever an exception is raised then the catch blocks either recover from the exception in some way. or log the exception and abort. A workflow can be characterized as a long-running process. Exceptions occur in workflows but it is more expensive to abort the workflow as much work may be lost. Many proposals for describing workflows have been made. Some address exception handling, but few of these cleanly separate the description of the normal workflow from exceptions, and none present clear implementation details. Our approach to modeling and handling exceptions relies on continuations, listeners as exception handlers, and on policies, or strategies, for continuation. This model leads to a very flexible design and implementation of workflow. We present the details behind the implementation. Our work has been validated in a small prototype written in Java, though our approach and design are independent of the programming language.
Jinmiao Li, Yun Mai, Gregory Butler
APSEC3
2003 Implementing the PostgreSQL Query Optimizer within the OPT++ Framework
abstract
Our work studies the application of an existing framework, called OPT++, for query optimization for relational databases. The initial application was a simple bottom-up optimizer, while the second application was to implement the query optimization strategies of PostgreSQL with the framework. Our experience illustrates the power and the pitfalls of reusing frameworks. During the course of the two applications we found substantial need to improve the design at the detailed level though the main abstractions of OPT++ did not change. Our second application raised many issues with the performance of OPT++, which is surprising since its fundamental purpose was a major study of relative performance of query optimization strategies by its author. We have addressed many performance issues, but some with broad impact on the framework's code are still being addressed.
Jinmiao Li, Gregory Butler
APSEC3
2002 Architectural Refactoring in Framework Evolution: A Case Study
Gregory Butler
GPCE1
2001 Generative Techniques for Product Lines
Gregory Butler, Don S. Batory, Krzysztof Czarnecki 0001, Ulrich W. Eisenecker
ICSE1
2000 Three Improvements to the BLASTP Search of Genome Databases
abstract
The BLASTP program is a search tool for databases of protein sequences that is widely used by biologists as a first step in investigating new genome sequences. BLASTP finds high-scoring local alignments (q/sub i/q/sub i+1/...q/sub i+k//spl par/s/sub j/s/sub j+1/...s/sub j+k/) without gaps between a query sequence q and sequences s in the database. The score of an alignment is the sum of the scores of individual alignments q/sub i+t//spl par/s/sub j+t/ between amino acids that make up the protein. These individual scores come from a scoring matrix modeling the rate of evolutionary mutation. Here we provide a detailed description of the original program and three separate optimisations to it. BLASTP consists of three steps, that we call neighbourhood construction, hit detection, and hit extension. The three optimisations target hit extension since it accounts for 93% of the execution time. The first optimisation alters the data representation of the query sequence and the related code for indexing the scoring matrix. The second optimisation performs extensions in step-sizes of two rather than one. The third optimisation forstalls the calling of the hit extension step in cases that are unlikely to lead to a high-scoring alignment. Individually the three optimisations show speed ups of 15%, 48%, and 63% respectively.
Shawn Delaney, Gregory Butler, Clement W. H. Lam, Larry H. Thiel
SSDBM2
1999 Reusable Strategies for Software Agents via the Subsumption
abstract
The subsumption architecture is a layered mediator invented by Rodney Brooks for behaviour-based control of robots. The layers are minimally dependent and use minimal communication. We develop an object-oriented software design for the subsumption architecture, and demonstrate that each layer can be used as a slot for a set of plug-and-play components that implement different micro-strategies for achieving a particular goal. The software architecture, and the reuse of micro-strategy components, is validated by developing truck agents within the Truckin' simulation game. Guidelines for the development of specific layers and components of a subsumption architecture are also presented.
Gregory Butler, Andrea Gantchev, Peter Grogono
APSEC1
1998 A Reuse Case Perspective on Documenting Frameworks
abstract
A framework is developed in order to support the development of a family of applications. Many approaches to documenting frameworks have been tried though with different aims and audiences in mind. Of greatest utility are those aimed at reducing the learning curve for application developers. We propose the concept of a reuse case as offering a perspective of the different approaches to documenting frameworks. The categories of reuse cases are defined, and we discuss other views of reuse cases that can help to classify them.
Gregory Butler, Peter Grogono, Ferhat Khendek
APSEC1
1997 Quality and Reuse in Industrial Software Engineering
abstract
The drive for productivity in the software industry is forcing major changes in the ways that software development and maintenance are being done. The technical trends contributing most to improved productivity are the improvement in quality of products and processes; and the reuse of code and other software components, such as design and requirements. The author surveys these technical trends. Each has gone beyond the research stage, and the preliminary results from pilot industrial projects have been reported. He summarizes the information available on the costs and benefits of the approaches, and the criteria which determine a successful transfer of the technique to industry. Each has demonstrated a long-term (3-6 years) return on investment, under the right circumstances. They have nor in general delivered short-term payoffs.
Gregory Butler
APSEC1
1997 A Z Specification of Use Cases: A Preliminary Report
abstract
The use case concept is a tool for capturing the requirements of a system. A single use case describes a subset of a system's functionality in terms of the interactions between the system and a set of users or actors. A use case is initiated by a particular user, and serves the purpose of delivering some meaningful unit of work, service, or value to the initiator. When capturing requirements, a use case views the system as a black box. Due to their popularity, the concept of use cases has been abused to some extent, and been applied to specifying the "requirements" of all sorts of things, such as those of a subsystem of the system architecture. Cockburn (1997) acknowledges 18 different definitions of use cases. This has created a great deal of confusion and a need for clear definitions. Just what is a "use case"? We seek to answer that question, by providing a specification of a use case and its related concepts using the Z formalism.
Gregory Butler, Peter Grogono, Ferhat Khendek
APSEC1
1995 Intelligent Mathematical Databases
Gregory Butler
DASFAA1
1995 Analyzing the logical structure of data flow diagrams in software documents
abstract
Understanding software documents requires the logical structure analysis of diagrammatic notations, such as data flow diagrams. A data flow diagram (DFD) represents the functional dependencies within a system: it shows how output values in a computation are derived from input values. We show how the logical structure of a DFD can be described using the formalism of Calculus of Communicating Systems (CCS). We present the process of generating the logical structure, and show how the formalism is used for deep understanding of DFDs. Using the Edinburgh Concurrency Workbench (CWB), we can use the formal description of a DFD to reason about the equivalence of two DFDs, and to simulate the behavior of a DFD.
Gregory Butler, Peter Grogono, Rajjan Shinghal, Indra A. Tjandra
ICDAR1
1995 Easy Verification of Behavioural Subtyping in Common Cases
Gregory Butler
Inf. Process. Lett.1
1995 An Intelligent Tutoring System for the Dijkstra-Gries Methodology
abstract
The paper describes the design and implementation of an intelligent tutoring system for the Dijkstra-Gries programming methodology as defined by Gries (1981) in "The Science of Programming". The first part of the paper identifies the requirements of intelligent tutoring systems in general and those of the methodology in particular. It shows the suitability of the Smalltalk environment for developing expandable intelligent systems and the compatibility of Smalltalk's object-oriented paradigm with the Gries methodology's goal/plan approach to programming. We then describe how these requirements are met: an overview of the system's support of the methodology and the modules that enable the system to respond intelligently. As an example, a reusable tutorial part is presented, first from a student's perspective, then from an author's perspective. Finally the results of an evaluation of the system drawn from actual student experience are presented.>
Frank Ng, Gregory Butler, Judy Kay
IEEE Trans. Software Eng.2
1994 A Database of Groups of Prime-power Order
abstract
Abstract The design, implementation and performance of TwoGroups, a deductive database for the 58,761 groups of order 2n, (n ≤ 8), is described. The system is implemented in NU‐Prolog, a Prolog system with built‐in functions for creating and using deductive databases. TwoGroups has a set‐theoretic query language, which provides users with a familiar notation to access the data. The paper describes the data and its representation, the set‐theoretic query language, its translator and optimiser, and the experiments on the performance of the database.
Gregory Butler, Sridhar S. Iyer, E. A. O'Brien
Softw. Pract. Exp.1
1993 The Transitive Groups of Degree Fourteen and Fifteen
Gregory Butler
J. Symb. Comput.1
1993 On Holt's Algorithm
Gregory Butler, John J. Cannon
J. Symb. Comput.1
1992 Experimental Comparison of Algorithms for Sylow Subgroups
abstract
Article Experimental comparison of algorithms for Sylow subgroups Share on Author: Greg Butler View Profile Authors Info & Claims ISSAC '92: Papers from the international symposium on Symbolic and algebraic computationAugust 1992 Pages 251–262https://doi.org/10.1145/143242.143324Published:01 August 1992 0citation226DownloadsMetricsTotal Citations0Total Downloads226Last 12 Months0Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Gregory Butler
ISSAC1
1991 A Deductive Database of the Groups of Order Dividing 128
abstract
This paper describes the design and il~lplen~cllt~~tic~ll of a deductive database for the 2668 groups of oN.Icr 2'1, (n < 7).The system was implemented in NU-Prolog, aProlog system with built-in functions for creating and using deductive databases.In addition to the database, a simple query language was written.This ena.blcs database users to access the data using a simpler and more familiar set-theoretic syntax than that provided by the Prolog interpreter.
Gregory Butler, Sridhar S. Iyer, Susan H. Ley
ISSAC1
1991 Computing Sylow Subgroups of Permutation Groups Using Homomorphic Images of Centralizers
Gregory Butler, John J. Cannon
J. Symb. Comput.1
1990 Deductive Mathematical Databases - A Case Study
Gregory Butler, Sridhar S. Iyer
SSDBM1
1989 Computing in Permutation and Matrix Groups III: Sylow Subgroups
Gregory Butler, John J. Cannon
J. Symb. Comput.1
1988 Cayley, Version 4: The User Language
Gregory Butler, John J. Cannon
ISSAC1
1988 A Proof of Holt's Algorithm
Gregory Butler
J. Symb. Comput.1
1987 The Suitability for Master/Slave Concurrency of Concurrent Euclid, Ada and Modula
abstract
Abstract The suitability of Concurrent Euclid, Ada and Modula for a special form of asynchronous concurrency, called master/slave concurrency, is investigated. No language is ideal, with Concurrent Euclid and Modula having major drawbacks. The conclusion lists the features desirable in a language for master/slave concurrency.
Gregory Butler, Matthew J. Kendall
Softw. Pract. Exp.1
1985 Effective Computation with Group Homomorphisms
Gregory Butler
J. Symb. Comput.1
1985 A General Backtrack Algorithm for the Isomorphism Problem of Combinatorial Objects
Gregory Butler, Clement W. H. Lam
J. Symb. Comput.1