A domain-specific architectural foundation for engineering of numerical software systems

Arbi Ghazarian

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

Numerical computations have found vast applications in numerous areas of science and engineering. Many scientific and engineering advances rely on the capability to build computational models in the form of numerical software systems. A review of the numerical computation literature of the past few decades reveals that research and practice in this area have been largely focused on designing efficient numerical algorithms to carry out numerical computations, but less attention has been paid to the architectural design of large-scale numerical software systems. On the other hand, the field of software engineering has made tremendous advances in the past few decades in various areas of software development including programming languages, development methodologies, and design techniques. Given the current mature status of the algorithmic design aspects of numerical computations, a change in research direction from lower-level algorithm design of numerical computations to higher-level architectural design of numerical software systems can yield fruitful results. In line with this objective, this paper aims to address the architectural level issues of numerical systems by taking advantage of the latest advances in software engineering and adapting them for the domain of numerical systems. This paper presents the design of a domain-specific architecture, which can serve as an architectural foundation for developing a large family of numerical software systems. A number of design strategies are presented and the rationale behind each strategy is explained. Using the Java programming language, we demonstrate how each of the strategies can be implemented in an object-oriented language. We further demonstrate that a set of basic design principles underlie a variety of design techniques.

Original languageEnglish (US)
Pages (from-to)193-208
Number of pages16
JournalWSEAS Transactions on Systems
Volume10
Issue number7
StatePublished - Jul 2011

Fingerprint

Software engineering
Architectural design
Java programming language
Object oriented programming
Computer programming languages

Keywords

  • Architectural patterns
  • Design patterns
  • Design principles
  • Numerical software
  • Software architecture
  • Software engineering

ASJC Scopus subject areas

  • Computer Science Applications
  • Control and Systems Engineering

Cite this

A domain-specific architectural foundation for engineering of numerical software systems. / Ghazarian, Arbi.

In: WSEAS Transactions on Systems, Vol. 10, No. 7, 07.2011, p. 193-208.

Research output: Contribution to journalArticle

@article{ccb5fdc41ad34033811de26fdcacd3e8,
title = "A domain-specific architectural foundation for engineering of numerical software systems",
abstract = "Numerical computations have found vast applications in numerous areas of science and engineering. Many scientific and engineering advances rely on the capability to build computational models in the form of numerical software systems. A review of the numerical computation literature of the past few decades reveals that research and practice in this area have been largely focused on designing efficient numerical algorithms to carry out numerical computations, but less attention has been paid to the architectural design of large-scale numerical software systems. On the other hand, the field of software engineering has made tremendous advances in the past few decades in various areas of software development including programming languages, development methodologies, and design techniques. Given the current mature status of the algorithmic design aspects of numerical computations, a change in research direction from lower-level algorithm design of numerical computations to higher-level architectural design of numerical software systems can yield fruitful results. In line with this objective, this paper aims to address the architectural level issues of numerical systems by taking advantage of the latest advances in software engineering and adapting them for the domain of numerical systems. This paper presents the design of a domain-specific architecture, which can serve as an architectural foundation for developing a large family of numerical software systems. A number of design strategies are presented and the rationale behind each strategy is explained. Using the Java programming language, we demonstrate how each of the strategies can be implemented in an object-oriented language. We further demonstrate that a set of basic design principles underlie a variety of design techniques.",
keywords = "Architectural patterns, Design patterns, Design principles, Numerical software, Software architecture, Software engineering",
author = "Arbi Ghazarian",
year = "2011",
month = "7",
language = "English (US)",
volume = "10",
pages = "193--208",
journal = "WSEAS Transactions on Systems",
issn = "1109-2777",
publisher = "World Scientific and Engineering Academy and Society",
number = "7",

}

TY - JOUR

T1 - A domain-specific architectural foundation for engineering of numerical software systems

AU - Ghazarian, Arbi

PY - 2011/7

Y1 - 2011/7

N2 - Numerical computations have found vast applications in numerous areas of science and engineering. Many scientific and engineering advances rely on the capability to build computational models in the form of numerical software systems. A review of the numerical computation literature of the past few decades reveals that research and practice in this area have been largely focused on designing efficient numerical algorithms to carry out numerical computations, but less attention has been paid to the architectural design of large-scale numerical software systems. On the other hand, the field of software engineering has made tremendous advances in the past few decades in various areas of software development including programming languages, development methodologies, and design techniques. Given the current mature status of the algorithmic design aspects of numerical computations, a change in research direction from lower-level algorithm design of numerical computations to higher-level architectural design of numerical software systems can yield fruitful results. In line with this objective, this paper aims to address the architectural level issues of numerical systems by taking advantage of the latest advances in software engineering and adapting them for the domain of numerical systems. This paper presents the design of a domain-specific architecture, which can serve as an architectural foundation for developing a large family of numerical software systems. A number of design strategies are presented and the rationale behind each strategy is explained. Using the Java programming language, we demonstrate how each of the strategies can be implemented in an object-oriented language. We further demonstrate that a set of basic design principles underlie a variety of design techniques.

AB - Numerical computations have found vast applications in numerous areas of science and engineering. Many scientific and engineering advances rely on the capability to build computational models in the form of numerical software systems. A review of the numerical computation literature of the past few decades reveals that research and practice in this area have been largely focused on designing efficient numerical algorithms to carry out numerical computations, but less attention has been paid to the architectural design of large-scale numerical software systems. On the other hand, the field of software engineering has made tremendous advances in the past few decades in various areas of software development including programming languages, development methodologies, and design techniques. Given the current mature status of the algorithmic design aspects of numerical computations, a change in research direction from lower-level algorithm design of numerical computations to higher-level architectural design of numerical software systems can yield fruitful results. In line with this objective, this paper aims to address the architectural level issues of numerical systems by taking advantage of the latest advances in software engineering and adapting them for the domain of numerical systems. This paper presents the design of a domain-specific architecture, which can serve as an architectural foundation for developing a large family of numerical software systems. A number of design strategies are presented and the rationale behind each strategy is explained. Using the Java programming language, we demonstrate how each of the strategies can be implemented in an object-oriented language. We further demonstrate that a set of basic design principles underlie a variety of design techniques.

KW - Architectural patterns

KW - Design patterns

KW - Design principles

KW - Numerical software

KW - Software architecture

KW - Software engineering

UR - http://www.scopus.com/inward/record.url?scp=80054988358&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=80054988358&partnerID=8YFLogxK

M3 - Article

VL - 10

SP - 193

EP - 208

JO - WSEAS Transactions on Systems

JF - WSEAS Transactions on Systems

SN - 1109-2777

IS - 7

ER -