scispace - formally typeset
Open AccessJournal ArticleDOI

Case study on algebraic software methodologies for scientific computing

Magne Haveraaen
- 01 Dec 2000 - 
- Vol. 8, Iss: 4, pp 261-273
Reads0
Chats0
TLDR
This work outlines a use of algebraic software methodologies and advanced program constructors to improve the abstraction level of software for scientific computing through the use of domain specific languages and appropriate software architectures.
Abstract
The use of domain specific languages and appropriate software architectures are currently seen as the way to enhance reusability and improve software productivity. Here we outline a use of algebraic software methodologies and advanced program constructors to improve the abstraction level of software for scientific computing. This leads us to the language of coordinate free numerics as an alternative to the traditional coordinate dependent array notation. This provides the backdrop for the three accompanying papers: {\it Coordinate Free Programming of Computational Fluid Dynamics Problems}, centered around an example of using coordinate free numerics, {\it Machine and Collection Abstractions for User-Implemented Data-Parallel Programming}, exploiting the higher abstraction level when parallelising code, and {\it An Algebraic Programming Style for Numerical Software and its Optimization}, looking at high-level transformations enabled by the domain specific programming style.

read more

Content maybe subject to copyright    Report

Citations
More filters

Software engineering economics

Barry Boehm
TL;DR: In this article, the authors provide an overview of economic analysis techniques and their applicability to software engineering and management, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Journal ArticleDOI

The rational numbers as an abstract data type

TL;DR: An equational specification of the field operations on the rational numbers under initial algebra semantics using just total field operations and 12 equations is given, which results in 0−1 = 0, an interesting equation consistent with the ring axioms and many properties of division.

Proof of Correctness of Data Representations (Reprint).

TL;DR: A powerful method of simplifying the proofs of program correctness is suggested; and some new light is shed on the problem of functions with side-effects.
Proceedings Article

The rational numbers as an abstract data type

TL;DR: In this article, an equational specification of the field operations on the rational numbers under initial algebra semantics using just total field operations and 12 equations is given, which is consistent with the ring axioms and many properties of division.
References
More filters
Book

Design Patterns: Elements of Reusable Object-Oriented Software

TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Book

The C++ Programming Language

TL;DR: Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.

Software engineering economics

Barry Boehm
TL;DR: In this paper, the authors provide an overview of economic analysis techniques and their applicability to software engineering and management, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Journal ArticleDOI

On the criteria to be used in decomposing systems into modules

TL;DR: In this paper, the authors discuss modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time, and the effectiveness of modularization is dependent upon the criteria used in dividing the system into modules.
Book

The Java Language Specification

TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.