Ian Gorton

dblp:74/3329 · DBLP profile ↗
← Back
68ranked-venue papers
23as first author
2since 2021 · last 2024
0000-0002-5617-0258ORCID · corroborated

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

Software engineering, systems software and programming languages · 54 · 17 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 9 · 3 first-authorSystems, architecture and hardware · 5 · 3 first-author · 1 since 2021Artificial intelligence and machine learning · 1Computer networks · 1Graphics, computer vision, multimedia, augmented reality and games · 1Human-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
11 papers
Requirements engineering and software design · 55% Empirical software engineering · 24% Software maintenance and evolution · 12%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Performance modeling and evaluation · 75% High-performance computing · 25%
Computer graphics and multimedia
1 paper
Visualization and visual analytics · 100%
Interdisciplinary, comprehensive, and emerging computing
3 papers
Energy systems and smart grids · 38% Environmental and earth informatics · 33% Computational science and engineering · 29%

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

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
software architecture
0.482015
Measure it? Manage it? Ignore it? software practitioners and technical debt · ESEC/SIGSOFT FSE 2015
Towards a distributed software architecture evaluation process: a preliminary assessment · ICSE 2006
Tool support for just-in-time architecture reconstruction and evaluation: an experience report · ICSE 2005
Empirical software engineering
mining software repositories
0.212015
Measure it? Manage it? Ignore it? software practitioners and technical debt · ESEC/SIGSOFT FSE 2015
Software maintenance and evolution
technical debt
0.212015
Measure it? Manage it? Ignore it? software practitioners and technical debt · ESEC/SIGSOFT FSE 2015
Visualization and visual analytics › visual analytics
visual analysis
0.112012
Visual Data Analysis as an Integral Part of Environmental Management · IEEE Trans. Vis. Comput. Graph. 2012
Requirements engineering and software design › software architecture › architectural design
architectural decision making
0.122015
Measure it? Manage it? Ignore it? software practitioners and technical debt · ESEC/SIGSOFT FSE 2015
A quality-driven systematic approach for architecting distributed software applications · ICSE 2005
Requirements engineering and software design › software architecture
architecture evaluation
0.122006
Towards a distributed software architecture evaluation process: a preliminary assessment · ICSE 2006
Tool support for just-in-time architecture reconstruction and evaluation: an experience report · ICSE 2005
Services computing and microservices
enterprise application integration
0.122005
An architects guide to enterprise application integration with J2EE and .NET · ICSE 2005
Architectures and Technologies for Enterprise Application Integration · ICSE 2004
Empirical software engineering
benchmarking
0.112007
Revel8or: Model Driven Capacity Planning Tool Suite · ICSE 2007
Performance modeling and evaluation
capacity planning
0.112007
Revel8or: Model Driven Capacity Planning Tool Suite · ICSE 2007
Requirements engineering and software design › software architecture › software architecture analysis
software architecture recovery
0.112005
Tool support for just-in-time architecture reconstruction and evaluation: an experience report · ICSE 2005
Services computing and microservices
service-oriented architecture
0.012004
Architectures and Technologies for Enterprise Application Integration · ICSE 2004
Requirements engineering and software design › software architecture
software architecture evolution
0.012004
Architecting in the Face of Uncertainty: An Experience Report · ICSE 2004
Requirements engineering and software design › software architecture
component-based software engineering
0.012002
Software component quality assessment in practice: successes and practical impediments · ICSE 2002
Empirical software engineering
controlled experiment
0.012006
Towards a distributed software architecture evaluation process: a preliminary assessment · ICSE 2006
Requirements engineering and software design
requirements elicitation
0.012005
An architects guide to enterprise application integration with J2EE and .NET · ICSE 2005
Mathematical optimization
multi-objective optimization
0.012005
A quality-driven systematic approach for architecting distributed software applications · ICSE 2005
Services computing and microservices
middleware
0.012002
Software component quality assessment in practice: successes and practical impediments · ICSE 2002

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

parallel visualization · 0.4model verification · 0.4survey · 0.2qualitative text analysis · 0.2nonparametric statistics · 0.2interviews · 0.2model-driven development · 0.1domain-specific language · 0.1UML 2.0 Testing Profile · 0.1case study · 0.1experience report · 0.1scenario-based architecture evaluation · 0.1quantitative performance modeling · 0.1optimization techniques · 0.1benchmarking · 0.1EJB platform profiling · 0.1
YearPublicationVenuePosition
2024 Integrated Safety and Security by Design in the IT/OT Convergence of Industrial Systems: A Graph-Based Approach
abstract
The convergence of Information Technology (IT) and Operational Technology (OT) in Industry 4.0 poses fresh challenges, demanding innovative strategies to ensure the safe execution of production processes. With the increasing significance of production system integrity, any security breaches can lead to severe consequences like production downtime, equipment damage, or human harm. Our prior research on Austrian industrial automation stakeholders highlighted the necessity for a cost-effective, all-encompassing approach to the integrated safety and security. We introduced an extensive ontology for safety, security, and operational requirements in IT/OT convergence. This paper presents an approach of Model-Based Systems Engineering (MBSE) for the integrated safety and security by design of industrial systems. We employ the Systems Modeling Language (SysML) 2.0 for precise modeling. We define metadata information that are used as tags for SysML 2.0 model instances. Afterwards, we create a graph-based model of the system. These graphs are used to validate safety and security standards and requirements. Finally, we automatically generate artifacts, such as code or documentation, which adhere to the standards. Our approach is extensible and supports reusability already after covering two standards. Having provided support for the standards IEC 62443-3-3 and IEC 61508, we reuse our approach to validate the standard ISO 13850:2015.
Amirali Amiri, Gernot Steindl, Ian Gorton, Siegfried Hollerer, Wolfgang Kastner, Thilo Sauter
SSE3
2024 Deployment Architectures of MQTT Brokers in Event-Driven Industrial Internet of Things
abstract
The Industrial Internet of Things (IIoT) involves various standards, protocols, and tools, requiring extensive expertise for system design. The traditional automation pyramid limits scalability due to tightly-coupled components. Integrating IIoT data in the cloud through event-driven communication, like MQTT brokers, provides loose coupling. This integration also aids in resource monitoring and planning, enhancing IIoT application performance. Despite many IIoT architecture studies, there is a lack of empirical comparisons of MQTT broker deployment strategies. This paper examines an edge-cloud aggregation scenario, where IIoT device requests are aggregated at the edge and fog services before being transmitted to the cloud. We study four MQTT deployment architectures and compare the results empirically. We use an Arduino Opta as an IIoT device. Also, we use software-based load generation to support replicability of our experiment and reproducibility of our results. Findings indicate that a central broker on a dedicated virtual machine gives 13.8% improvements of the mean response time compared to the shared deployment of MQTT broker and device gateways. Our results offer insights into effective deployment strategies.
Amirali Amiri, Valentin Philipp Just, Gernot Steindl, Stefan Nastic, Wolfgang Kastner, Ian Gorton
IECON6
2020 An MS in CS for non-CS Majors: Moving to Increase Diversity of Thought and Demographics in CS
abstract
We have created, piloted and are growing the Align program, a Master of Science in Computer Science (MS in CS) for post-secondary graduates who did not major in CS. Our goal is to create a pathway to CS for all students, with particular attention to women and underrepresented minorities. Indeed, women represent 57% and underrepresented minorities represent 25% of all bachelor's recipients in the U.S., but only 19.5% and 12.6% of CS graduates, respectively. If we can fill this opportunity gap, we will satisfy a major economic need and address an issue of social equity and inclusion. In this paper, we present our "Bridge'' curriculum, which is a two-semester preparation for students to then join the traditional MS in CS students in master's-level classes. We describe co-curricular activities designed to help students succeed in the program. We present our empirical findings around enrollment, demographics, retention and job outcomes. Among our findings is that Align students outperform our traditional MS in CS students in grade point average. To date we have graduated 137 students and 827 are enrolled.
Carla E. Brodley, Megan Barry, Aidan Connell, Catherine Gill, Ian Gorton, Benjamin Hescott, Bryan Lackaye, Cynthia LuBien, Leena Razzaq, Amit Shesh, Tiffani L. Williams, Andrea Pohoreckyj Danyluk
SIGCSE5
2018 Message from the General Chair and PC Chairs of ICSA 2018
abstract
The increasing size of software systems and the emergence of increasingly autonomous systems demands innovative software engineering practices. The way software is being developed and maintained is rapidly changing and must take into account multifaceted constraints like fast-changing and unpredictable markets, complex and changing customer requirements, pressures of shorter time-to-market, and rapidly advancing information technologies, to name just a few of these new aspects. To cope with such constraints, software is increasingly produced according to rapid continuous software engineering development processes. The International Conference on Software Architecture (ICSA), is the premier platform for academia and industry to join efforts in addressing these challenges, bringing innovative solutions to the problems we face in the software architecture domain.
Ian Gorton, Barbora Buhnova, Neil A. Ernst, Clemens A. Szyperski
ICSA1
2017 Experiments in Curation: Towards Machine-Assisted Construction of Software Architecture Knowledge Bases
abstract
Software architects inhabit a complex, rapidly evolving technological landscape. An ever growing collection of competing architecturally significant technologies, ranging from distributed databases to middleware and cloud platforms, makes rigorously comparing alternatives and selecting appropriate solutions a daunting engineering task. To address this problem, we envisage an ecosystem of curated, automatically updated knowledge bases that enable straightforward and streamlined technical comparisons of related products. These knowledge bases would emulate engineering handbooks that are commonly found in other engineering disciplines. As a first step towards this vision, we have built a curated knowledge base for comparing distributed databases based on a semantically defined feature taxonomy. We report in this paper on the initial results of using supervised machine learning to assist with knowledge base curation. Our results show immense promise in recommending Web pages that are highly relevant to curators. We also describe the major obstacles, both practical and scientific, that our work has uncovered. These must be overcome by future research in order to make our vision of curated knowledge bases a reality.
Ian Gorton, Ruochen Xu, Yiming Yang 0002, Hanxiao Liu, Guoqing Zheng
ICSA1
2016 Model driven performance simulation of cloud provisioned Hadoop mapreduce applications
abstract
Hadoop is a widely adopted open source implementation of MapReduce. A Hadoop cluster can be fully provisioned by a Cloud service provider to provide elasticity in computational resource allocation. Understanding the performance characteristics of a Hadoop job can help achieve an optimal balance between resource usage (cost) and job latency on a cloud-based cluster. This paper presents a method that estimates the performance of a MapReduce application in a Cloud provisioned Hadoop cluster. We develop a model-driven approach that models a cloud provided independent Hadoop MapReduce model and customizes it for a specific Cloud deployment. These models are further transformed into a simulation model that produces estimations of end-to-end job latency. We explore this method in the design space of MapReduce applications to estimate the performance for different sizes of input data. Our approach provides a model-to-simulation-to-prediction method for observing the performance behaviour of MapReduce applications given a configuration of a MapReduce platform.
Hanieh Alipour, Yan Liu 0001, Abdelwahab Hamou-Lhadj, Ian Gorton
MiSE@ICSE4
2016 Model-Driven Observability for Big Data Storage
abstract
The scale, heterogeneity, and pace of evolution of the storage components in big data systems makes it impractical to manually insert monitoring code for observability metric collection and aggregation. In this paper we present an architecture that automates these metric collection processes, using a model-driven approach to configure a distributed runtime observability framework. We describe and evaluate an implementation of the architecture that collects and aggregates metrics for a big data system using heterogeneous NoSQL data stores. Our scalability tests demonstrate that the implementation can monitor 20 different metrics from 10,000 database nodes with a sampling interval of 20 seconds. Below this interval, we lose metrics due to the sustained write load required in the metrics database. This indicates that observability at scale must be able to support very high write loads in a metrics collection database.
John Klein, Ian Gorton, Laila Alhmoud, Joel Gao, Caglayan Gemici, Rajat Kapoor, Prasanth Nair 0002, Varun Saravagi
WICSA2
2015 The Visionary Track on Engineering Mobile Service Oriented Systems
abstract
The IEEE Engineering Mobile Service Oriented Systems (EMSOS) Workshop aims to bring together researchers from academia and industry, as well as practitioners in the area of engineering services in mobile environments in order to provide a forum where recent research results can be presented and discussed. The objective is to understand open issues in the software engineering area of services applied in mobile environments, and to build a community of researchers and practitioners willing to collaborate on these issues.
Nour Ali, Rami Bahsoon, Ian Gorton
SERVICES3
2015 Measure it? Manage it? Ignore it? software practitioners and technical debt
abstract
The technical debt metaphor is widely used to encapsulate numerous software quality problems. The metaphor is attractive to practitioners as it communicates to both technical and nontechnical audiences that if quality problems are not addressed, things may get worse. However, it is unclear whether there are practices that move this metaphor beyond a mere communication mechanism. Existing studies of technical debt have largely focused on code metrics and small surveys of developers. In this paper, we report on our survey of 1,831 participants, primarily software engineers and architects working in long-lived, software-intensive projects from three large organizations, and follow-up interviews of seven software engineers. We analyzed our data using both nonparametric statistics and qualitative text analysis. We found that architectural decisions are the most important source of technical debt. Furthermore, while respondents believe the metaphor is itself important for communication, existing tools are not currently helpful in managing the details. We use our results to motivate a technical debt timeline to focus management and tooling approaches.
Neil A. Ernst, Stephany Bellomo, Ipek Ozkaya, Robert L. Nord, Ian Gorton
ESEC/SIGSOFT FSE5
2015 Architecture Knowledge for Evaluating Scalable Databases
abstract
Designing massively scalable, highly available big data systems is an immense challenge for software architects. Big data applications require distributed systems design principles to create scalable solutions, and the selection and adoption of open source and commercial technologies that can provide the required quality attributes. In big data systems, the data management layer presents unique engineering problems, arising from the proliferation of new data models and distributed technologies for building scalable, available data stores. Architects must consequently compare candidate database technology features and select platforms that can satisfy application quality and cost requirements. In practice, the inevitable absence of up-to-date, reliable technology evaluation sources makes this comparison exercise a highly exploratory, unstructured task. To address these problems, we have created a detailed feature taxonomy that enables rigorous comparison and evaluation of distributed database platforms. The taxonomy captures the major architectural characteristics of distributed databases, including data model and query capabilities. In this paper we present the major elements of the feature taxonomy, and demonstrate its utility by populating the taxonomy for nine different database technologies. We also briefly describe QuABaseBD, a knowledge base that we have built to support the population and querying of database features by software architects. QuABaseBD links the taxonomy to general quality attribute scenarios and design tactics for big data systems. This creates a unique, dynamic knowledge resource for architects building big data systems.
Ian Gorton, John Klein, Albert Nurgaliev
WICSA1
2014 Second International Workshop on Engineering Mobile Service Oriented Systems (EMSOS 2014)
abstract
The IEEE Engineering Mobile Service Oriented Systems (EMSOS) Workshop aims to bring together researchers from academia and industry, as well as practitioners in the area of engineering services in mobile environments in order to provide a forum where recent research results can be presented and discussed. The objective is to understand open issues in the software engineering area of services applied in mobile environments, and to build a community of researchers and practitioners willing to collaborate on these issues.
Nour Ali, Rami Bahsoon, Ian Gorton
SERVICES3
2013 2nd international workshop on software engineering challenges for the smart grid (SE4SG 2013)
abstract
The 2nd International Workshop on Software Engineering Challenges for the Smart Grid focuses on understanding and identifying the unique challenges and opportunities for SE to contribute to and enhance the design and development of the smart grid. In smart grids, the geographical scale, requirements on real-time performance and reliability, and diversity of application functionality all combine to produce a unique, highly demanding problem domain for SE to address. The objective of this workshop is to bring together members of the SE community and the power engineering community to understand these requirements and determine the most appropriate SE tools, methods and techniques.
Ian Gorton, Yan Liu 0001, Heiko Koziolek, Anne Koziolek, Mazeiar Salehie
ICSE1
2013 Exploring Cloud Computing for Large-Scale Scientific Applications
abstract
This paper explores cloud computing for large-scale data intensive scientific applications. Cloud computing is attractive because it provides hardware and software resources on-demand, which relieves the burden of acquiring and maintaining a huge amount of resources that may be used only once by a scientific application. However, unlike typical commercial applications that often just requires a moderate amount of ordinary resources, large-scale scientific applications often need to process enormous amount of data in the terabyte or even petabyte range and require special high performance hardware with low latency connections to complete computation in a reasonable amount of time. To address these challenges, we build an infrastructure that can dynamically select high performance computing hardware across institutions and dynamically adapt the computation to the selected resources to achieve high performance. We have also demonstrated the effectiveness of our infrastructure by building a system biology application and an uncertainty quantification application for carbon sequestration, which can efficiently utilize data and computation resources across several institutions.
Guang Lin 0001, Binh Han, Jian Yin 0002, Ian Gorton
SERVICES4
2013 Building European software architecture community: how far have we come?
Muhammad Ali Babar 0001, Ian Gorton, Flávio Oquendo
Softw. Syst. Model.2
2012 A Service Oriented Architecture for Exploring High Performance Distributed Power Models
Yan Liu 0001, Jared Chase, Ian Gorton
ICSOC3
2012 Visual Data Analysis as an Integral Part of Environmental Management
abstract
The U.S. Department of Energy's (DOE) Office of Environmental Management (DOE/EM) currently supports an effort to understand and predict the fate of nuclear contaminants and their transport in natural and engineered systems. Geologists, hydrologists, physicists and computer scientists are working together to create models of existing nuclear waste sites, to simulate their behavior and to extrapolate it into the future. We use visualization as an integral part in each step of this process. In the first step, visualization is used to verify model setup and to estimate critical parameters. High-performance computing simulations of contaminant transport produces massive amounts of data, which is then analyzed using visualization software specifically designed for parallel processing of large amounts of structured and unstructured data. Finally, simulation results are validated by comparing simulation results to measured current and historical field data. We describe in this article how visual analysis is used as an integral part of the decision-making process in the planning of ongoing and future treatment options for the contaminated nuclear waste sites. Lessons learned from visually analyzing our large-scale simulation runs will also have an impact on deciding on treatment measures for other contaminated sites.
E. Wes Bethel, Jennifer L. Horsman, Susan S. Hubbard, Harinarayan Krishnan, Alexandru Romosan, Elizabeth H. Keating, Laura Monroe, Richard Strelitz, Phil Moore, Glenn Taylor, Ben Torkian, Timothy C. Johnson, Ian Gorton
IEEE Trans. Vis. Comput. Graph.14
2011 Implementing High Performance Remote Method Invocation in CCA
abstract
We report our effort in engineering a high performance remote method invocation (RMI) mechanism for the Common Component Architecture (CCA). This mechanism provides a highly efficient and easy-to-use mechanism for distributed computing in CCA, enabling CCA applications to effectively leverage parallel systems to accelerate computations. This work is built on the previous work of Babel RMI. Babel is a high performance language interoperability tool that is used in CCA for scientific application writers to share, reuse, and compose applications from software components written in different programming languages. Babel provides a transparent and flexible RMI framework for distributed computing. However, the existing Babel RMI implementation is built on top of TCP and does not provide the level of performance required to distribute fine-grained tasks. We observed that the main reason the TCP based RMI does not perform well is because it does not utilize the high performance interconnect hardware on a cluster efficiently. We have implemented a high performance RMI protocol, HPCRMI. HPCRMI achieves low latency by building on top of a low-level portable communication library, Aggregated Remote Message Copy Interface (ARMCI), and minimizing communication for each RMI call. Our design allows a RMI operation to be completed by only two RDMA operations. We also aggressively optimize our system to reduce copying. In this paper, we discuss the design and our experimental evaluation of this protocol. Our experimental results show that our protocol can improve RMI performance by an order of magnitude.
Jian Yin 0002, Khushbu Agarwal, Manoj Krishnan, Daniel G. Chavarría-Miranda, Ian Gorton, Tom Epperly
CLUSTER5
2011 Fourth international workshop on software engineering for computational science and engineering: (SE-CSE2011)
abstract
Computational Science and Engineering (CSE) software supports a wide variety of domains including nuclear physics, crash simulation, satellite data processing, fluid dynamics, climate modeling, bioinformatics, and vehicle development. The increase in the importance of CSE software motivates the need to identify and understand appropriate software engineering (SE) practices for CSE. Because of the uniqueness of CSE software development, existing SE tools and techniques developed for the business/IT community are often not efficient or effective. Appropriate SE solutions must account for the salient characteristics of the CSE development environment. This situation creates an opportunity for members of the SE community to interact with members of the CSE community to address this need. This workshop facilitates that collaboration by bringing together members of the SE community and the CSE community to share perspectives and present findings from research and practice relevant to CSE software. A significant portion of the workshop is devoted to focused interaction among the participants with the goal of generating a research agenda to improve tools, techniques, and experimental methods for studying CSE software engineering.
Jeffrey C. Carver, Roscoe A. Bartlett, Ian Gorton, Lorin Hochstein, Diane Kelly 0002, Judith Segal
ICSE3
2011 Designing a Distributed Systems Architecture Testbed for Real-Time Power Grid Systems
Yan Liu 0001, Ian Gorton, Yousu Chen, Shuangshuang Jin
SEKE2
2011 Towards Composing Data Aware Systems Biology Workflows on Cloud Platforms: A MeDICi-Based Approach
abstract
Cloud computing is being increasingly adopted for deploying systems biology scientific workflows. Scientists developing these workflows use a wide variety of fragmented and competing data sets and computational tools of all scales to support their research. To this end, the synergy of client side workflow tools with cloud platforms is a promising approach to share and reuse data and workflows. In such systems, the location of data and computation is essential consideration in terms of quality of service for composing a scientific workflow across remote cloud platforms. In this paper, we describe a cloud-based workflow for genome annotation processing that is underpinned by MeDICi -- a middleware designed for data intensive scientific applications. The workflow implementation incorporates an execution layer for exploiting data locality that routes the workflow requests to the processing steps that are colocated with the data. We demonstrate our approach by composing two workflows with the MeDICi pipelines.
Ian Gorton, Yan Liu 0001, Jian Yin 0002, Anand Kulkarni, Adam Wynne
SERVICES1
2010 Exploring Architecture Options for a Federated, Cloud-Based System Biology Knowledgebase
abstract
Systems biology is characterized by a large community of scientists who use a wide variety of fragmented and competing data sets and computational tools of all scales to support their research. In order to provide a more coherent computational environment for systems biology, we are working as part of the Department of Energy Systems Biology Knowledgebase (Kbase) project to define a federated cloud-based system architecture. The Kbase will eventually host massive amounts of biological data, provide high performance and scalable computational resources, and support a large user community with tools and services to enable them to utilize the Kbase resources. In this paper, we describe the results of our investigations into the design of a workflow infrastructure suitable for use in the Kbase. The approach utilizes standards-based workflow description and open source integration technologies, and incorporates a data aware workflow execution layer for exploiting data locality in the federated architecture. We describe a use case and the initial prototype implementation we have built that demonstrates the feasibility of our approach.
Ian Gorton, Yan Liu 0001, Jian Yin 0002
CloudCom1
2009 T3: Secure, Scalable, Distributed Data Movement and Remote System Control for Enterprise Level Cyber Security
abstract
Enterprise level cyber security requires the deployment, operation, and monitoring of many sensors across geographically dispersed sites. Communicating with the sensors to gather data and control behavior is a challenging task when the number of sensors is rapidly growing. This paper describes the system requirements, design, and implementation of T3, the third generation of our transport software that performs this task. T3 relies on open source software and open Internet standards. Data is encoded in MIME format messages and transported via NNTP, which provides scalability. OpenSSL and public key cryptography are used to secure the data. Robustness and ease of development are increased by defining an internal cryptographic API, implemented by modules in C, Perl, and Python. We are currently using T3 in a production environment. It is freely available to download and use for other projects.
Gregory S. Thomas, Bill Nickless, David R. Thiede, Ian Gorton, Bill J. Pitre, Jason E. Christy, Liz Faultersack, Jeffery A. Mauth
COMPSAC (2)4
2009 A High-Performance Hybrid Computing Approach to Massive Contingency Analysis in the Power Grid
abstract
Operating the electrical power grid to prevent power black-outs is a complex task. An important aspect of this is contingency analysis, which involves understanding and mitigating potential failures in power grid elements such as transmission lines. When taking into account the potential for multiple simultaneous failures (known as the N-x contingency problem), contingency analysis becomes a massively computational task. In this paper we describe a novel hybrid computational approach to contingency analysis. This approach exploits the unique graph processing performance of the Cray XMT in conjunction with a conventional massively parallel compute cluster to identify likely simultaneous failures that could cause widespread cascading power failures that have massive economic and social impact on society. The approach has the potential to provide the first practical and scalable solution to the N-x contingency problem. When deployed in power grid operations, it will increase the grid operator’s ability to deal effectively with outages and failures with power grid components while preserving stable and safe operation of the grid. The paper describes the architecture of our solution and presents preliminary performance results that validate the efficacy of our approach.
Ian Gorton, Zhenyu Huang 0001, Yousu Chen, Benson Kalahar, Shuangshuang Jin, Daniel G. Chavarría-Miranda, Douglas J. Baxter, John Feo
eScience1
2009 An Architecture for Real Time Data Acquisition and Online Signal Processing for High Throughput Tandem Mass Spectrometry
abstract
Independent, greedy collection of data events using simple heuristics results in massive over-sampling of the prominent data features in large-scale studies over what should be achievable through ¿intelligent", online acquisition of such data. As a result, data generated are more aptly described as a collection of a large number of small experiments rather than a true large-scale experiment. Nevertheless, achieving ¿intelligent¿, online control requires tight interplay between state-of-the-art, data-intensive computing infrastructure developments and analytical algorithms. In this paper, we propose a Software Architecture for Mass spectrometry-based Proteomics coupled with Liquid chromatography Experiments (SAMPLE) to develop an ¿intelligent¿ online control and analysis system to significantly enhance the information content from each sensor (in this case, a mass spectrometer). Using online analysis of data events as they are collected and decision theory to optimize the collection of events during an experiment, we aim to maximize the information content generated during an experiment by the use of pre-existing knowledge to optimize the dynamic collection of events.
Anuj R. Shah, Navdeep Jaitly, Nino Zuljevic, Matthew E. Monroe, Andrei Liyu, Ashoka D. Polpitiya, Joshua N. Adkins, Mikhail E. Belov, Gordon A. Anderson, Richard D. Smith, Ian Gorton
eScience11
2009 Design and implementation of a high-performance CCA event service
abstract
Abstract Event services based on publish–subscribe architectures are well‐established components of distributed computing applications. Recently, an event service has been proposed as part of the common component architecture (CCA) for high‐performance computing (HPC) applications. In this paper we describe our implementation, experimental evaluation, and initial experience with a high‐performance CCA event service that exploits efficient communications mechanisms commonly used on HPC platforms. We describe the CCA event service model and briefly discuss the possible implementation strategies of the model. We then present the design and implementation of the event service using the aggregate remote memory copy interface as an underlying communication layer for this mechanism. Two alternative implementations are presented and evaluated on a Cray XD‐1 platform. The performance results demonstrate that event delivery latencies are low and that the event service is able to achieve high‐throughput levels. Finally, we describe the use of the event service in an application for high‐speed processing of data from a mass spectrometer and conclude by discussing some possible extensions to the event service for other HPC applications. Published in 2009 by John Wiley & Sons, Ltd.
Ian Gorton, Daniel G. Chavarría-Miranda, Jarek Nieplocha
Concurr. Comput. Pract. Exp.1
2008 An Extensible, Scalable Architecture for Managing Bioinformatics Data and Analyses
abstract
Systems biology research demands the availability of tools and technologies that span a comprehensive range of computational capabilities, including data management, transfer, processing, integration, and interpretation. To address these needs, we have created the bioinformatics resource manager (BRM), a scalable, flexible, and easy to use tool for biologists to undertake complex analyses. This paper describes the underlying software architecture of the BRM that integrates multiple commodity platforms to provide a highly extensible and scalable software infrastructure for bioinformatics. The architecture integrates a J2EE 3-tier application with an archival experimental data management system, the GAGGLE framework for desktop tool integration, and the MeDICi integration framework for high-throughput data analysis workflows. This architecture facilitates a systems biology software solution that enables the entire spectrum of scientific activities, from experimental data access to high throughput processing and analysis of data for biologists and experimental scientists.
Anuj R. Shah, Mudita Singhal, Tara D. Gibson, Chandrika Sivaramakrishnan, Katrina M. Waters, Ian Gorton
eScience6
2008 An Autonomic Middleware Solution for Coordinating Multiple QoS Controls
Yan Liu 0001, Min'an Tan, Ian Gorton, Andrew Clayphan
ICSOC3
2008 Software Architecture Challenges for Data Intensive Computing
abstract
Data intensive computing is concerned with creating scalable solutions for capturing, analyzing, managing and understanding multi-terabyte and petabyte data volumes. Such data volumes exist in a diverse range of application domains, including scientific research, bio-informatics, cyber security, social computing and commerce. Innovative hardware and software technologies to address these problems must scale to meet these ballooning data volumes and simultaneously reduce the time needed to provide effective data analysis. This paper describes some of the software architecture challenges that must be addressed when building data intensive applications and supporting infrastructures. These revolve around requirements for adaptive resource utilization and management, flexible integration, robustness and scalable data management.
Ian Gorton
WICSA1
2008 The MeDICi Integration Framework: A Platform for High Performance Data Streaming Applications
abstract
Building high performance analytical applications for data streams generated from sensors is a challenging software engineering problem. Such applications typically comprise a complex pipeline of processing components that capture, transform and analyze the incoming data stream. In addition, applications must provide high throughput, be scalable and easily modifiable so that new analytical components can be added with minimum effort. In this paper we describe the MeDICi integration framework (MIF), which is a middleware platform we have created to address these challenges. The MIF extends an open source messaging platform with a component-based API for integrating components into analytical pipelines. We describe the features and capabilities of the MIF, and show how it has been used to build a production analytical application for detecting cyber security attacks. The application was composed from multiple independently developed components using several different programming languages. The resulting application was able to process network sensor traffic in real time and provide insightful feedback to network analysts as soon as potential attacks were recognized.
Ian Gorton, Adam Wynne, Justin Almquist, Jack Chatterton
WICSA1
2008 The architecture of an event correlation service for adaptive middleware-based applications
Yan Liu 0001, Ian Gorton, Vinh Kah Lee
J. Syst. Softw.2
2008 Editorial
Daniel J. Paulish, Ian Gorton, Jeff Tyree, Dilip Soni
J. Syst. Softw.2
2008 An extensible and lightweight architecture for adaptive server applications
abstract
Abstract Server applications augmented with behavioral adaptation logic can react to environmental changes, creating self‐managing server applications with improved quality of service at runtime. However, developing adaptive server applications is challenging due to the complexity of the underlying server technologies and highly dynamic application environments. This paper presents an architecture framework, the Adaptive Server Framework (ASF), to facilitate the development of adaptive behavior for legacy server applications. ASF provides a clear separation between the implementation of adaptive behavior and the business logic of the server application. This means a server application can be extended with programmable adaptive features through the definition and implementation of control components defined in ASF. Furthermore, ASF is a lightweight architecture in that it incurs low CPU overhead and memory usage. We demonstrate the effectiveness of ASF through a case study, in which a server application dynamically determines the resolution and quality to scale an image based on the load of the server and network connection speed. The experimental evaluation demonstrates the performance gains possible by adaptive behavior and the low overhead introduced by ASF. Copyright © 2007 John Wiley & Sons, Ltd.
Ian Gorton, Yan Liu 0001, Nihar Trivedi
Softw. Pract. Exp.1
2007 Performance Prediction of Service-Oriented Applications based on an Enterprise Service Bus
abstract
An enterprise service bus (ESB) is a standards-based integration platform that combines messaging, web services, data transformation, and intelligent routing in a highly distributed environment. The ESB has been adopted as a key component of SOA infrastructures. For SOA implementations with large number of users, services, or traffic, maintaining the necessary performance levels of applications integrated using an ESB presents a substantial challenge, both to the architects who design the infrastructure as well as to IT professionals who are responsible for administration. In this paper, we develop a performance model for analyzing and predicting the runtime performance of service applications composed on a COTS ESB platform. Our approach utilizes benchmarking techniques to measure primitive performance overheads of service routing activities in the ESB. The performance characteristics of the ESB and services running on the ESB are modeled in a queuing network, which facilitates the performance prediction of service oriented applications. This model is validated by an example ESB based service application modeled from real world loan broking business application.
Yan Liu 0001, Ian Gorton, Liming Zhu 0001
COMPSAC (1)2
2007 Revel8or: Model Driven Capacity Planning Tool Suite
abstract
Designing complex multi-tier applications that must meet strict performance requirements is a challenging software engineering problem. Ideally, the application architect could derive accurate performance predictions early in the project life-cycle, leveraging initial application design-level models and a description of the target software and hardware platforms. To this end, we have developed a capacity planning tool suite for component-based applications, called Revel8tor. The tool adheres to the model driven development paradigm and supports benchmarking and performance prediction for J2EE, .Net and Web services platforms. The suite is composed of three different tools: MDAPerf MDABench and DSLBench. MDAPerf allows annotation of design diagrams and derives performance analysis models. MDABench allows a customized benchmark application to be modeled in the UML 2.0 Testing Profile and automatically generates a deployable application, with measurement automatically conducted. DSLBench allows the same benchmark modeling and generation to be conducted using a simple performance engineering Domain Specific Language (DSL) in Microsoft Visual Studio. DSLBench integrates with Visual Studio and reuses its load testing infrastructure. Together, the tool suite can assist capacity planning across platforms in an automated fashion.
Liming Zhu 0001, Yan Liu 0001, Ngoc Bao Bui, Ian Gorton
ICSE4
2007 Architecture Knowledge Management: Concepts, Technologies, Challenges
abstract
Modern software systems are typically built by acquiring and integrating various components developed by commercial or open source entities, whose teams are commonly geographically distributed. Capturing the technical knowledge, contextual information, and rationale surrounding the design decisions underpinning the system architectures and software components can greatly improve the software development process. If not managed, this critical design knowledge is implicitly embedded in the architecture, becoming tacit knowledge which erodes as personnel on the project change. Moreover, the unavailability of architecture knowledge precludes organizations from growing their architectural capabilities.
Ian Gorton, Muhammad Ali Babar 0001
WICSA1
2007 CAmkES: A component model for secure microkernel-based embedded systems
Ihor Kuz, Yan Liu 0001, Ian Gorton, Gernot Heiser
J. Syst. Softw.3
2007 MDABench: Customized benchmark generation using MDA
Liming Zhu 0001, Ngoc Bao Bui, Yan Liu 0001, Ian Gorton
J. Syst. Softw.4
2006 Towards a distributed software architecture evaluation process: a preliminary assessment
abstract
Scenario-based methods for evaluating software architecture require a large number of stakeholders to be collocated for evaluation sessions. Collocating stakeholders is often an expensive exercise. We have proposed a framework for distributed evaluation process. We present the proposed framework and initial results of a controlled experiment that we ran to assess the effectiveness of the proposed idea.
Muhammad Ali Babar 0001, Barbara A. Kitchenham, Ian Gorton
ICSE3
2006 An empirical study of groupware support for distributed software architecture evaluation process
abstract
Software architecture evaluation is an effective means of addressing quality related issues early in the software development lifecycle. Scenario-based approaches to evaluate architecture usually involve a large number of stakeholders, who need to be collocated for face-to-face evaluation meetings. Collocating a large number of stakeholders is an expensive and time-consuming exercise, which may prove to be a hurdle in the wide-spread adoption of disciplined architectural evaluation practices. Drawing upon the successful introduction of groupware applications to support geographically distributed teams in software inspection, and requirements engineering disciplines, we propose the concept of distributed architectural evaluation using Internet-based collaborative technologies. This paper presents a pilot study used to assess the viability of a larger experiment intended to investigate the feasibility of groupware support for distributed software architecture evaluation. In addition, the results of the pilot study provide some preliminary findings on the viability of groupware-supported software architectural evaluation process.
Muhammad Ali Babar 0001, Barbara A. Kitchenham, Liming Zhu 0001, Ian Gorton, D. Ross Jeffery
J. Syst. Softw.4
2006 A survey of architecture design rationale
Antony Tang, Muhammad Ali Babar 0001, Ian Gorton, Jun Han 0004
J. Syst. Softw.3
2005 A quality-driven systematic approach for architecting distributed software applications
abstract
Architecting distributed software applications is a complex design activity. It involves making decisions about a number of inter-dependent design choices that relate to a range of design concerns. Each decision requires selecting among a number of alternatives; each of which impacts differently on various quality attributes. Additionally, there are usually a number of stakeholders participating in the decision-making process with different, often conflicting, quality goals, and project constraints, such as cost and schedule. To facilitate the architectural design process, we propose a quantitative quality-driven approach that attempts to find the best possible fit between conflicting stakeholders' quality goals, competing architectural concerns, and project constraints. The approach uses optimization techniques to recommend the optimal candidate architecture. Applicability of the proposed approach is assessed using a real system.
Tariq Al-Naeem, Ian Gorton, Muhammad Ali Babar 0001, Fethi A. Rabhi, Boualem Benatallah
ICSE2
2005 An architects guide to enterprise application integration with J2EE and .NET
abstract
Architects are faced with the problem of building enterprise scale information systems, with streamlined, automated internal business processes and web-enabled business functions, all across multiple legacy applications. The underlying architectures for such systems are embodied in a range of diverse products known as Enterprise Application Integration (EAI) technologies. In this tutorial, we highlight some of the major problems, approaches and issues in designing EAI architectures and selecting appropriate supporting technology. An architect's perspective on designing large-scale integrated applications is taken, and we discuss requirements elicitation, architecture patterns, EAI technology and features, and risk mitigation. J2EE and .NET technologies are used to illustrate the capabilities of state-or-the-art integration technologies.
Ian Gorton, Anna Liu
ICSE1
2005 Tool support for just-in-time architecture reconstruction and evaluation: an experience report
abstract
The need for software architecture evaluation has drawn considerable attention in recent years. In practice, this is a challenging exercise for two main reasons. First, in deployed projects, software architecture documentation is often not readily available, and may not be a correct representation of the as built architecture. Second, large software systems have numerous potential views of the various architecturally significant structures in the system. In this paper we assess the capabilities of software reverse engineering and architecture reconstruction tools to support just-in-time architecture reconstruction. If an application's architecture can be reconstructed efficiently, this could promote more effective architecture reviews and evaluations. We describe our experiences in leveraging multiple reconstruction tools and how these guided the choice of design artifacts to construct. We discovered that the tools complemented each other in identifying reconstruction scope, critical architectural elements, potential design irregularities and creating useful architectural views for different evaluation tasks. With the help of these tools, the reconstruction and evaluation effort was significantly streamlined and productive. Finally, we also report some potential improvements these tools could make.
Ian Gorton, Liming Zhu 0001
ICSE1
2005 A Survey of the Use and Documentation of Architecture Design Rationale
abstract
Many claims have been made about the problems caused by not documenting design rationale. The general perception is that designers and architects usually do not fully understand the critical role of systematic use and capture of design rationale. However, there is to date little empirical evidence available on what design rationale mean to practitioners, how valuable they consider them, and how they use and document design rationale during the design process. This paper reports an empirical study that surveyed practitioners to probe their perception of the value of design rationale and how they use and document background knowledge related to their design decisions. Based on eighty-one valid responses, this study has discovered that practitioners recognize the importance of documenting design rationale and frequently use them to reason about their design choices. However, they have indicated barriers to the use and documentation of design rationale. Based on the findings, we conclude that much research is needed to develop methodology and tool support for design rationale capture and usage. Furthermore, we put forward some research questions that would benefit from further investigation into design rationale in order to support practice in industry.
Antony Tang, Muhammad Ali Babar 0001, Ian Gorton, Jun Han 0004
WICSA3
2005 Customized Benchmark Generation Using MDA
abstract
This paper describes an approach for generating customized benchmark applications from a software architecture description using a Model Driven Architecture (MDA) approach. The benchmark generation and performance data capture tool implementation is based on widely used open source MDA frameworks. The business logic of the benchmark application is modeled in UML and generated by taking advantage of the existing generation "cartridges" so that the current component technology can be exploited in the benchmark. This greatly reduces the effort and expertise needed for benchmarking with complex component technology. We have also extended the MDA framework to model and generate a load testing suite and automatic performance measurement infrastructure. The approach complements current model-based performance prediction and analysis methods by generating the benchmark application from the same application architecture that the performance models are derived from. This provides the potential for tightly integrating runtime performance measurement with model-based prediction either for model validation or improving model prediction accuracy. We illustrate the approach using a case study based on EJB component technology.
Liming Zhu 0001, Yan Liu 0001, Ian Gorton, Ngoc Bao Bui
WICSA3
2005 Performance prediction of component-based applications
Shiping Chen 0001, Yan Liu 0001, Ian Gorton, Anna Liu
J. Syst. Softw.3
2005 Tradeoff and Sensitivity Analysis in Software Architecture Evaluation Using Analytic Hierarchy Process
Liming Zhu 0001, Aybüke Aurum, Ian Gorton, D. Ross Jeffery
Softw. Qual. J.3
2005 Design-Level Performance Prediction of Component-Based Applications
abstract
Server-side component technologies such as Enterprise JavaBeans (EJBs), .NET, and CORBA are commonly used in enterprise applications that have requirements for high performance and scalability. When designing such applications, architects must select suitable component technology platform and application architecture to provide the required performance. This is challenging as no methods or tools exist to predict application performance without building a significant prototype version for subsequent benchmarking. In this paper, we present an approach to predict the performance of component-based server-side applications during the design phase of software development. The approach constructs a quantitative performance model for a proposed application. The model requires inputs from an application-independent performance profile of the underlying component technology platform, and a design description of the application. The results from the model allow the architect to make early decisions between alternative application architectures in terms of their performance and scalability. We demonstrate the method using an EJB application and validate predictions from the model by implementing two different application architectures and measuring their performance on two different implementations of the EJB platform.
Yan Liu 0001, Alan D. Fekete, Ian Gorton
IEEE Trans. Software Eng.3
2004 Comparison of Scenario-Based Software Architecture Evaluation Methods
abstract
Software engineering community has proposed several methods to evaluate software architectures with respect to desired quality attributes such as maintainability, performance, and so on. There is, however, little effort on systematically comparing such methods to discover similarities and differences between existing approaches. In this paper, we compare four well known scenario-based SA evaluation methods using an evaluation framework. The framework considers each method from the point of view of method context, stakeholders, structure, and reliability. The comparison reveals that most of the studied methods are structurally similar but there are a number of differences among their activities and techniques. Therefore, some methods overlap, which guides us to identify five common activities that can form a generic process model.
Muhammad Ali Babar 0001, Ian Gorton
APSEC2
2004 An Empirical Evaluation of Architectural Alternatives for J2EE and Web Services
abstract
Component-based technologies such as J2EE and .NET have been widely adopted to develop Web-based applications. With the emerging use of Web services and service-based architectures, such component technologies provide the necessary back-end components to execute application business logic, supporting a variety of architectural alternatives. The combination of component technologies with Web services further extends the set of architecture choices, with each providing different levels of performance. It is therefore important for an architect to understand these performance implications in the early stages of the architecture design. In this paper, we measure and analyze the performance of four alternative architectures using J2EE and Web services. The purpose is to investigate the effects on performance, identify both hardware and software bottlenecks, and analyze the architectural design trade-offs.
Yan Jenny Liu, Ian Gorton
APSEC2
2004 Architecting in the Face of Uncertainty: An Experience Report
abstract
Understanding an application's functional and non-functional requirements is normally seen as essential for developing a robust product suited to client needs. This paper describes our experiences in a project that, by necessity, commenced well before concrete client requirements could be known. After a first version of the application was successfully released, emerging requirements forced an evolution of the application architecture. The key reasons for this are explained, along with the architectural strategies and software engineering practices that were adopted. The resulting application architecture is highly flexible, modifiable and scalable, and therefore should provide a solid foundation for the duration of the application's lifetime.
Ian Gorton, Jereme Haack
ICSE1
2004 Architectures and Technologies for Enterprise Application Integration
abstract
Architects are faced with the problem of building enterprise scale information systems, with streamlined, automated internal business processes and Web-enabled business functions, all across multiple legacy applications. The underlying architectures for such systems are embodied in a range of diverse products known as enterprise application integration (EAI) technologies. In this paper, we highlight some of the major problems, approaches and issues in designing EAI architectures and selecting appropriate supporting technology. The tutorial presents a range of the common architectural patterns frequently used for EAI applications. It also explains service-oriented architectures as the current best practice architectural framework for EAI. It then describes the state-or-the-art in EAI technologies that support these architectural styles, and discusses some of the key design trade-offs involved when selecting an appropriate integration technology (including buy versus build decisions).
Ian Gorton, Anna Liu
ICSE1
2003 Next Generation Application Integration: Challenges and New Approaches
abstract
Integrating multiple heterogeneous data sources into applications is a time-consuming, costly and error-prone engineering task. Relatively mature technologies exist that make integration tractable from an engineering perspective. These technologies, however, have many limitations, and hence present opportunities for breakthrough research. This paper briefly describes some of these limitations, and enumerates a subset of the general open research problems. It then describes the Data Concierge research project and prototype that is attempting to provide solutions to some of these problems.
Ian Gorton, Dave Thurman, Judi Thomson
COMPSAC1
2003 Workshop on Architectures for Complex Application Integration (WACAI 2003)
abstract
The first Workshop on Architectures for Complex Application Integration (WACAI 2003) was held in Dallas, Texas on 5 November 2003. This was a joint workshop with COMPSAC 2003. The major aim of the workshop was to bring together key research ideas and practices in the field of evolving architectures for application integration, with the goal of assessing the state of the art and of identifying the fundamental open issues in the research field. Six papers are accepted for formal presentation. In the last section, a summary is outlined for each paper.
Ian Gorton, Anna Liu
COMPSAC2
2003 An Efficient, Scalable Content-Based Messaging System
abstract
Large-scale information processing environments must rapidly search through massive streams of raw data to locate useful information. These data streams contain textual and numeric data items, and may be highly structured or mostly freeform text. This project aims to create a high performance and scalable engine for locating relevant content in data streams. Based on the J2EE Java Messaging Service (JMS), the content-based messaging (CBM) engine provides highly efficient message formatting and filtering. This paper describes the design of the CBM engine, and presents empirical results that compare the performance with a standard JMS to demonstrate the performance improvements that are achieved.
Ian Gorton, Justin Almquist, Nick Cramer, Jereme Haack, Mark Hoza
EDOC1
2003 Evaluating the sustained performance of COTS-based messaging systems
abstract
Abstract Messaging systems, which include message brokers built on top of message‐oriented middleware, have been used as middleware components in many enterprise application integration projects. There are many COTS‐based messaging systems on the market, but there is little concrete understanding in the software industry on the performance of these different technologies. The authors have carried out a scenario‐based evaluation of three leading messaging systems to provide insight into performance issues. The evaluation process includes a study of the sustained performance of the system under load. The result of this study is used to derive a generic metric for quantifying a messaging system's performance. The paper describes a synthetic transactional scenario, which is used for load tests and performance measurement. The results from executing this test scenario with three messaging systems are then presented and explained. Copyright © 2003 John Wiley & Sons, Ltd.
Jeffrey Gosper, Ian Gorton
Softw. Test. Verification Reliab.3
2002 A Predictive Performance Model to Evaluate the Contention Cost in Application Servers
abstract
In multi-tier enterprise systems, application servers are key components that implement business logic and provide application services. To support a large number of simultaneous accesses from clients over the Internet and intranet, most application servers use replication and multi-threading to handle concurrent requests. While multiple processes and multiple threads enhance the processing bandwidth of servers, they also increase the contention for resources in application servers. The paper investigates this issue empirically based on a middleware benchmark. A cost model is proposed to estimate the overall performance of application servers, including the contention overhead. This model is then used to determine the optimal degree of the concurrency of application servers for a specific client load. A case study based on CORBA is presented to validate our model and demonstrate its application.
Shiping Chen 0001, Ian Gorton
APSEC2
2002 Evaluating the Scalability of Enterprise JavaBeans Technology
abstract
One of the major problems in building large-scale distributed systems is to anticipate the performance of the eventual solution before it has been built. This problem is especially germane to Internet-based e-business applications, where failure to provide high performance and scalability can lead to application and business failure. The fundamental software engineering problem is compounded by many factors, including individual application diversity, software architecture trade-offs, COTS component integration requirements, and differences in performance of various software and hardware infrastructures. We describe the results of an empirical investigation into the scalability of a widely used distributed component technology, Enterprise JavaBeans (EJB). A benchmark application is developed and tested to measure the performance of a system as both the client load and component infrastructure are scaled up. A scalability metric from the literature is then applied to analyze the scalability of the EJB component infrastructure under two different architectural solutions.
Yan Jenny Liu, Ian Gorton, Anna Liu, Shiping Chen 0001
APSEC2
2002 Software component quality assessment in practice: successes and practical impediments
abstract
This paper describes the authors' experiences of initiating and sustaining a project at CSIRO aimed at accelerating the successful adoption of COTS middleware technologies in large business and scientific information systems. The projects aims are described, along with example outcomes and an assessment of what is needed for wide-scale software component quality assessments to succeed.
Ian Gorton, Anna Liu
ICSE1
1996 Reliable parallel software construction using PARSE
abstract
The PARSE design methodology provides a hierarchical, object-based approach to the development of parallel software systems. A system design is initally structured into a collection of concurrently executing objects which communicate via message-passing. A graphical notation known as the process graph is then used to capture the structural and important dynamic properties of the system. Process graph designs can then be semi-mechanically transformed into complete Petri nets to give a detailed, executable and potentially verifiable design specification. From a complete design, translation rules for target programming languages are defined to enable the implementation to proceed in a systematic manner. The paper describes the steps in PARSE methodology and process graph notation, and illustrates the application of PARSE from design specification to program code using a network protocol example.
Ian Gorton, Innes Ritchie, Jonathan Gray, Toong Shoon Chan
Concurr. Pract. Exp.1
1996 Issues in co-operative software engineering using globally distributed teams
Ian Gorton, Sanjeev Motwani
Inf. Softw. Technol.1
1996 Formal Validation of a High Performance Error Control Protocol using SPIN
abstract
This paper presents the specification and validation of a high performance error control protocol. A formal specification model of the protocol was described using the PROMELA language. Formal analysis of the protocol model was validated using the SPIN validation tool. The uncovering of several subtle properties of the protocol has demonstrated the advantage of employing formal validation methods in designing distributed systems.
Toong Shoon Chan, Ian Gorton
Softw. Pract. Exp.2
1995 HTPNET: a high performance transport protocol
Toong Shoon Chan, Ian Gorton
Comput. Commun.2
1994 Software engineering for parallel systems
Innes Ritchie, Ian Gorton
Inf. Softw. Technol.2
1994 Special issue on software engineering for parallel systems
Innes Ritchie, Ian Gorton, Jonathan Gray
Inf. Softw. Technol.2
1993 Parallel software engineering with PARSE
abstract
The aims of the PARSE methodology are described, and the process graph design notation is summarised. Process graphs are a new graphical notation for describing systems comprising a collection of parallel processes in a language- and architecture-independent fashion. Further, process graph designs can be mechanically transformed into Petri nets to give a more detailed, executable design specification. Some simple process graphs and their corresponding Petri nets are described in order to demonstrate this transformation process. A more extensive example then illustrates the initial stages of the design process in practice.>
Ian Gorton, Innes Ritchie, Jon Gray
COMPSAC1
1993 Designing parallel database programs using PARSE
abstract
The problems of constructing parallel programs are considered and the aims of the PARSE parallel software engineering methodology are introduced. PARSE is a multi-stage methodology that covers logical and physical design, design verification, and implementation strategy. The first stage in the methodology involves the use of process graphs which provide a language and architecture independent notation for partitioning the problem into processes and specifying the communication relationships between them. This paper gives an outline of the PARSE methodology and describes the process graph notation. The use of the notation is illustrated with an example of a design for a parallel database system.>
Jon Gray, Ian Gorton, Innes Ritchie
COMPSAC2
1993 Parallel program design using high-level Petri nets
abstract
Abstract Petri nets are proposed as a general‐purpose design and modelling tool for parallel programs. The advantages of Petri nets for this purpose are discussed, and a solution to the Dining Philosophers problem is developed using simple Place‐Transition nets. The limitations of Place‐Transition nets are described, and the Dining Philosophers problem is used to illustrate how Coloured Petri nets can overcome these limitations. A more complex example of a Coloured Petri net is then given, and it is shown how a collection of processes in the Occam programming language can be developed directly from the properties of the net. Another Petri net model of a simple process farm is given, and a solution is developed in Parallel C: this further highlights the suitability of Petri nets as a design tool for parallel programs.
Ian Gorton
Concurr. Pract. Exp.1