Brad Moore
General Dynamics
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Brad Moore.
international conference on reliable software technologies | 2013
Stephen Michell; Brad Moore; Luis Miguel Pinho
The widespread use of multi-CPU computers is challenging programming languages, which need to adapt to be able to express potential parallelism at the language level. In this paper we propose a new model for fine grained parallelism in Ada, putting forward a syntax based on aspects, and the corresponding semantics to integrate this model with the existing Ada tasking capabilities. We also propose a standard interface and show how it can be extended by the user or library writers to implement their own parallelization strategies.
ACM Sigada Ada Letters | 2014
S. Tucker Taft; Brad Moore; Luis Miguel Pinho; Stephen Michell
The increased presence of parallel computing platforms brings concerns to the general purpose domain that were previously prevalent only in the specific niche of high-performance computing. As parallel programming technologies become more prevalent in the form of new emerging programming languages and extensions of existing languages, additional safety concerns arise as part of the paradigm shift from sequential to parallel behaviour. In this paper, we propose various syntax extensions to the Ada language, which provide mechanisms whereby the compiler is given the necessary semantic information to enable the implicit and explicit parallelization of code. The model is based on earlier work, which separates parallelism specification from concurrency implementation, but proposes an updated syntax with additional mechanisms to facilitate the development of safer parallel programs.
international conference on reliable software technologies | 2015
Luis Miguel Pinho; Brad Moore; Stephen Michell; S. Tucker Taft
This paper extends the authors earlier proposal for providing Ada with support for fine-grained parallelism with an execution model based on the concept of abstract executors, detailing the progress guarantees that these executors must provide and how these can be assured even in the presence of potentially blocking operations. The paper also describes how this execution model can be applied to real-time systems.
international conference on reliable software technologies | 2014
Luis Miguel Pinho; Brad Moore; Stephen Michell
Recently, a semantic and runtime model for parallel programming was proposed for addition to Ada. The proposal uses program annotations (expressed as Ada 2012 aspects) to inform the compiler of opportunities for parallel computation, and also offers the ability to specify details of parallel execution. The proposal includes support for specialized behaviors via dedicated libraries and a runtime environment that builds on pools of worker tasks. This paper extends that work by adding notations for data types and parallel blocks, simplifying some of the parallel notations and eliminating obstructions to the implementation of efficient parallel algorithms.
ACM Sigada Ada Letters | 2015
Luis Miguel Pinho; Brad Moore; Stephen Michell; S. Tucker Taft
The approach for fine-grained parallelism in Ada presented at the last Real-Time Ada Workshop has been revised, both in terms of the language mechanisms to specify parallelism, as well as in terms of the underlying execution model. This paper summarizes the current state of the proposal, further detailing how programmers can control the behavior of the parallel execution, and discussing the issues which are still open.
ACM Sigada Ada Letters | 2013
Brad Moore; Stephen Michell; Luis Miguel Pinho
Parallel programming is expected to become more the norm as multi-core and many-core processors gain more widespread use. Ada has always had excellent concurrency support, but could be improved in the area of parallel programming. Specifically, divide and conquer parallelism via parallel loops and subprograms are difficult to write without some sort of library support. In this paper we describe a proposal that combines the use of task pools and parallelism managers to provide parallelism capabilities to real-time Ada applications, including Ravenscar applications. This work complements the syntax enhancements that we previously proposed, so that together they facilitate the writing of parallel applications.
ACM Sigada Ada Letters | 2015
Luis Miguel Pinho; Stephen Michell; Brad Moore
The main goals of this session were to: Present an overview of a model for fine-grained parallelism in Ada based on the notion of tasklets; Present and discuss a general execution model that would support parallelism constructs being considered for possible inclusion in a future version of the Ada standard; Present and discuss a real-time model that provides consistency with the general model while providing enough flexibility to accommodate a wide range of real-time systems with the intent of supporting real-time analysis and maintaining or improving the safety features of the language.
ACM Sigada Ada Letters | 2010
Stephen Michell; Luke Wong; Brad Moore
Ada 2005 significantly improved Adas capabilities for handling real time systems by introducing scheduling and timing paradigms. To date, Adas support for multiprocessor systems has not been as effective, even though Ada has concurrency directly in the language. This paper identifies three missing paradigms from the language, mapping threads to processor\s, releasing many tasks from barriers, and Non-blocking_Delay, and proposes ways that they can be supported.
language and technology conference | 2013
Stephen Michell; Brad Moore; Luis Miguel Pinho
Multi-core platforms are challenging the way software is developed, in all application domains. For the particular case of real-time systems, models for the development of parallel software must be able to be shown correct in both functional and non-functional properties at design-time. In particular, issues such as concurrency, timing behaviour and interaction with the environment need to be addressed with the same caution as for the functional requirements. This paper proposes an execution model for the parallelization of real-time software, based upon a fine-grained parallelism support being proposed to Ada, a programming language particularly suited to the development of critical, concurrent software. We also show the correctness of the proposed model in terms of satisfying constraints related to execution order and unbounded priority inversions.
ACM Sigada Ada Letters | 2013
Luis Miguel Pinho; Stephen Michell; Brad Moore
The first session of the 18th International Real Time Ada Workshop discussed two aspects of parallel programming in real-time systems, the use of executors in parallel systems, and syntax to guide the reduction of parallel computations to return a correct single answer. This report captures the discussions held and the decisions and recommendations of the workshop on these topics.