Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Mary Sheeran is active.

Publication


Featured researches published by Mary Sheeran.


formal methods in computer aided design | 2000

Checking Safety Properties Using Induction and a SAT-Solver

Mary Sheeran; Satnam Singh; Gunnar Stålmarck

We take a fresh look at the problem of how to check safety properties of finite state machines. We are particularly interested in checking safety properties with the help of a SAT-solver. We describe some novel induction-based methods, and show how they are related to more standard fixpoint algorithms for invariance checking. We also present preliminary experimental results in the verification of FPGA cores. This demonstrates the practicality of combining a SAT-solver with induction for safety property checking of hardware in a real design flow.


international conference on functional programming | 1998

Lava: hardware design in Haskell

Per Bjesse; Koen Claessen; Mary Sheeran; Satnam Singh

Lava is a tool to assist circuit designers in specifying, designing, verifying and implementing hardware. It is a collection of Haskell modules. The system design exploits functional programming language features, such as monads and type classes, to provide multiple interpretations of circuit descriptions. These interpretations implement standard circuit analyses such as simulation, formal verification and the generation of code for the production of real circuits.Lava also uses polymorphism and higher order functions to provide more abstract and general descriptions than are possible in traditional hardware description languages. Two Fast Fourier Transform circuit examples illustrate this.


formal methods | 2000

A Tutorial on Stålmarck‘s Proof Procedure for PropositionalLogic

Mary Sheeran; Gunnar Stålmarck

We explain Stålmarcks proof procedure for classical propositional logic. The method is implemented in a commercial tool that has been used successfully in real industrial verification projects. Here, we present the proof system underlying the method, and motivate the various design decisions that have resulted in a system that copes well with the large formulas encountered in industrial-scale verification.


formal methods | 2010

Feldspar: A domain specific language for digital signal processing algorithms

Emil Axelsson; Koen Claessen; Gergely Dévai; Zoltán Horváth; Karin Keijzer; Bo Lyckegård; Anders Persson; Mary Sheeran; Josef Svenningsson; András Vajdax

A new language, Feldspar, is presented, enabling high-level and platform-independent description of digital signal processing (DSP) algorithms. Feldspar is a pure functional language embedded in Haskell. It offers a high-level dataflow style of programming, as well as a more mathematical style based on vector indices. The key to generating efficient code from such descriptions is a high-level optimization technique called vector fusion. Feldspar is based on a low-level, functional core language which has a relatively small semantic gap to machine-oriented languages like C. The core language serves as the interface to the back-end code generator, which produces C. For very small examples, the generated code performs comparably to hand-written C code when run on a DSP target. While initial results are promising, to achieve good performance on larger examples, issues related to memory access patterns and array copying will have to be addressed.


formal methods in computer aided design | 1998

A Tutorial on Stålmarcks's Proof Procedure for Propositional Logic

Mary Sheeran; Gunnar Stålmarck

We explain St?lmarcks proof procedure for classical propositional logic. The method is implemented in a commercial tool that has been used successfully in real industrial verification projects. Here, we present the proof system underlying the method, and motivate the various design decisions that have resulted in a system that copes well with the large formulas encountered in industrial-scale verification. We also discuss possible applications in Computer Aided Design of electronic circuits.


declarative aspects and applications of multicore programming | 2012

Expressive array constructs in an embedded GPU kernel programming language

Koen Claessen; Mary Sheeran; Bo Joel Svensson

Graphics Processing Units (GPUs) are powerful computing devices that with the advent of CUDA/OpenCL are becomming useful for general purpose computations. Obsidian is an embedded domain specific language that generates CUDA kernels from functional descriptions. A symbolic array construction allows us to guarantee that intermediate arrays are fused away. However, the current array construction has some drawbacks; in particular, arrays cannot be combined efficiently. We add a new type of push arrays to the existing Obsidian system in order to solve this problem. The two array types complement each other, and enable the definition of combinators that both take apart and combine arrays, and that result in efficient generated code. This extension to Obsidian is demonstrated on a sequence of sorting kernels, with good results. The case study also illustrates the use of combinators for expressing the structure of parallel algorithms. The work presented is preliminary, and the combinators presented must be generalised. However, the raw speed of the generated kernels bodes well.


implementation and application of functional languages | 2010

The design and implementation of feldspar an embedded language for digital signal processing

Emil Axelsson; Koen Claessen; Mary Sheeran; Josef Svenningsson; David Engdal; Anders Persson

Feldspar is a domain specific language, embedded in Haskell, for programming digital signal processing algorithms. The final aim of a Feldspar program is to generate low level code with good performance. Still, we chose to provide the user with a purely functional DSL. The language is implemented as a minimal, deeply embedded core language, with shallow extensions built upon it. This paper presents full details of the essential parts of the implementation. Our initial conclusion is that this approach works well in our domain, although much work remains.


implementation and application of functional languages | 2008

Obsidian: a domain specific embedded language for parallel programming of graphics processors

Joel Bo Svensson; Mary Sheeran; Koen Claessen

We present a domain specific language, embedded in Haskell, for general purpose parallel programming on GPUs. Our intention is to explore the use of connection patterns in parallel programming. We briefly present our earlier work on hardware generation, and outline the current state of GPU architectures and programming models. Finally, we present the current status of the Obsidian project, which aims to make GPU programming easier, without relinquishing detailed control of GPU resources. Both a programming example and some details of the implementation are presented. This is a report on work in progress.


international symposium on circuits and systems | 2006

Multiplier reduction tree with logarithmic logic depth and regular connectivity

Henrik Eriksson; Per Larsson-Edefors; Mary Sheeran; Magnus Själander; Daniel Johansson; Martin Schölin

A novel partial-product reduction circuit for use in integer multiplication is presented. The high-performance multiplier (HPM) reduction tree has the ease of layout of a simple carry-save reduction array, but is in fact a high-speed low-power Dadda-style tree having a worst-case delay which depends on the logarithm (O(log TV)) of the word length N


mathematics of program construction | 1994

Designing Arithmetic Circuits by Refinement in Ruby

Geraint Jones; Mary Sheeran

This paper presents in some detail the systematic derivation of a static bit-level parallel algorithm to implement multiplication of integers, that is to say one which might be implemented as an electronic circuit. The circuit is well known, but the derivation shows that its design can be seen as the consequence of decisions made (and explained) in terms of the abstract algorithm. The systematic derivation serves both as an explanation of the circuit, and as a demonstration that it is correct ‘by construction’. We believe that the technique is applicable to a wide range of similar algorithms.

Collaboration


Dive into the Mary Sheeran's collaboration.

Top Co-Authors

Avatar

Koen Claessen

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Emil Axelsson

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Bo Joel Svensson

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Geraint Jones

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Gunnar Stålmarck

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Joel Bo Svensson

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Per Larsson-Edefors

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Josef Svenningsson

Chalmers University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge