Papers by Matthew Rutherford
Developers of distributed systems routinely construct discrete-event simulations to help them un-... more Developers of distributed systems routinely construct discrete-event simulations to help them un- derstand and evaluate the behavior of inter-component protocols. Typically written using an imperative programming language, these simulations capture basic algorithmic functionality at the same time as they focus attention on properties critical to distribution, including topology, timing, bandwidth, and overall scalability. We ask the following question: Can simulations
IFIP/ACM Working Conference on Component Deployment, 2002
Reconfiguration is the process of applying planned changes to the communication, interconnection,... more Reconfiguration is the process of applying planned changes to the communication, interconnection, componentization, or functionality of a deployed system It is a powerful tool for achieving a va - riety of desirable properties of large - scale, distributed systems, including evolvability, adaptability, survivability, and continuous availability Current approaches to reconfiguration are inadequate: some allow one to describe a system's
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering - ASE '05, 2005
Engineering distributed systems is a challenging activity. This is partly due to the intrinsic co... more Engineering distributed systems is a challenging activity. This is partly due to the intrinsic complexity of distributed systems, and partly due to the practical obstacles that developers face when evaluating and tuning their design and implementation decisions. This paper addresses the latter aspect, providing techniques for software engineers to automate the experimentation activity. Our approach is founded on a suite of models that characterize the distributed system under experimentation, the testbeds upon which the experiments are to be carried out, and the client behaviors that drive the experiments. The models are used by generative techniques to automate construction of the workloads, as well as construction of the scripts for deploying and executing the experiments on distributed testbeds. The framework is not targeted at a specific system or application model, but rather is a generic, programmable tool. We have validated our approach by performing experiments on a variety of distributed systems. For two of these systems, the experiments were deployed and executed on the PlanetLab wide-area testbed. Our experience shows that this framework can be readily applied to different kinds of distributed system architectures, and that using it for meaningful experimentation, especially in large-scale network environments, is advantageous.
This paper describes a method for comparing the I/O responsiveness of microprocessors with progra... more This paper describes a method for comparing the I/O responsiveness of microprocessors with programmable input and output functionality. This addresses the need for benchmarks for real-time systems that measure critical properties for system design that are not currently handled by traditional performance benchmarks.
2011 Twenty-Sixth Annual IEEE Applied Power Electronics Conference and Exposition (APEC), 2011
Electric Vehicles (EV) and Plug-in Hybrid Electric Vehicles (PHEV) have a limited share of the cu... more Electric Vehicles (EV) and Plug-in Hybrid Electric Vehicles (PHEV) have a limited share of the current market. However, it is widely expected that the situation will change in the near future and the penetration of battery-operated vehicles will increase significantly. This paper addresses the impact of the mass operation and electricity consumption of EVs and PHEVs on the distribution utility
2011 Fourth IEEE International Conference on Software Testing, Verification and Validation, 2011
... Kavir Shrestha and Matthew J. Rutherford Department of Computer Science University of Denver ... more ... Kavir Shrestha and Matthew J. Rutherford Department of Computer Science University of Denver Denver, CO USA {kshresth,mjr}@cs.du.edu ... A comprehensive report on the history of runtime assertion checking can be found in Clarke and Rosenblum's IMPACT report [13]. ...
Lecture Notes in Computer Science, 2010
This paper introduces the DUP System, a simple framework for parallel stream processing. The DUP ... more This paper introduces the DUP System, a simple framework for parallel stream processing. The DUP System enables developers to compose applications from stages written in almost any programming language and to run distributed streaming applications across all POSIXcompatible platforms. Parallel applications written with the DUP System do not suffer from many of the problems that exist in traditional parallel languages. The DUP System includes a range of simple stages that serve as general-purpose building blocks for larger applications. This work describes the DUP assembly language, the DUP architecture and some of the stages included in the DUP run-time library. We then present our experiences with parallelizing and distributing the ARB Project, a package of tools for RNA/DNA sequence database handling and analysis.
Generative Programming and Component Engineering, 2003
A primary goal of generative programming and model-driven development is to raise the level of ab... more A primary goal of generative programming and model-driven development is to raise the level of abstraction at which designers and developers interact with the software systems they are building. During initial development, the benefits of abstraction are clear. However, during testing and maintenance, increased distance from the implementation can be a disadvantage. We view test cases and test harnesses as
Journal of Intelligent & Robotic Systems, 2014
ABSTRACT The ability of backstepping controllers to deal with nonlinearities make this technique ... more ABSTRACT The ability of backstepping controllers to deal with nonlinearities make this technique a suitable candidate for the control of small fixed-wing Unmanned Aerial Vehicles (UAVs). The authors have already proposed a comprehensive approach combining backstepping with PID controllers for simultaneous longitudinal and latero-directional control of fixed-wing UAVs, achieving good performance even with considerable levels of signal noise Sartori et al (2013). In further detail, the ability of the mixed approach to control different size and configuration aircraft in the presence of parametric uncertainties or noise, and when implemented on a microcontroller board was demonstrated. The present paper illustrates integration and testing of the backstepping controller on a real unmanned aircraft. After a summarizing the adopted control design and strategy, initial software and hardware simulations validate the control action for the selected aircraft. The implementation of the microcontroller on the aircraft and the integration with other aircraft systems is also illustrated. Experimental results obtained for ground and flight tests are presented, validating the applicability of the backstepping controller.
IEEE Transactions on Software Engineering, 2000
... Using Simulation-Based Models of Distributed Systems ... The intuition that led us to a simul... more ... Using Simulation-Based Models of Distributed Systems ... The intuition that led us to a simulation-based model arises from the following observations: . ...
Engineering distributed systems is a challenging activity. This is partly due to the intrinsic co... more Engineering distributed systems is a challenging activity. This is partly due to the intrinsic complexity of distributed systems, and partly due to the practical obstacles that developers face when evaluating and tuning their design and implementation decisions. This paper addresses the latter aspect, providing techniques for software engineers to automate two key elements of the experimentation activity: (1) workload generation and (2) experiment deployment and execution. Our approach is founded on a suite of models that characterize the client behaviors that drive the experiments, the distributed system under experimentation, and the testbeds upon which the experiments are to be carried out. The models are used by simulation-based and generative techniques to automate the construction of the workloads, as well as construction of the scripts for deploying and executing the experiments on distributed testbeds. The framework is not targeted at a specific system or application model, but rather is a generic, programmable tool. We have validated our approach on a variety of distributed systems. Our experience shows that this framework can be readily applied to different kinds of distributed system architectures, and that using it for meaningful experimentation is advantageous.
The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology, 2012
In this paper we describe a new design for intelligent unmanned vehicles using the XMOS processor... more In this paper we describe a new design for intelligent unmanned vehicles using the XMOS processor and related technology. The current unmanned system design paradigm generally uses widely available microcontroller platforms such as PIC from Microchip, ARM microcontrollers, x86 architectures, among others. These technologies have pros and cons, but one common disadvantage is the complexity of handling multiple I/O streams
Proceedings of the 14th ACM SIGSOFT international symposium …
Simulation-Based Test Adequacy Criteria ... In the next section we present the details of our app... more Simulation-Based Test Adequacy Criteria ... In the next section we present the details of our approach to establishing simulation-based test adequacy criteria. ...
This paper presents how the DUP System, a straightforward POSIX-compatible framework that enables... more This paper presents how the DUP System, a straightforward POSIX-compatible framework that enables programminglanguage-agnostic parallel and distributed stream processing, can be used to facilitate parallel and distributed simulations. Specifically, we describe two ways of using DUP to utilize available resources for efficient simulation: (1) a straightforward technique for parallelizing multiple runs of an existing simulation program with minimal changes, and (2) FiDES, a Discrete-Event Simulation (DES) framework built atop DUP that provides a simple, yet powerful, means of implementing a parallel and/or distributed DES. We then describe a toolset for profiling, debugging and visualization that aids the development of DUP simulations. To support these claims, we present various performance benchmarks that collectively demonstrate how DUP and FiDES can make highperformance simulation accessible to everyone.
2013 21st Mediterranean Conference on Control and Automation, MED 2013 - Conference Proceedings, 2013
Uploads
Papers by Matthew Rutherford