Towards a Domain Specific Software Architecture for Scientific Data Distribution


A reference architecture is a ‘design that satisfies a clearly distinguished subset of the functional capabilities identified in the reference requirements within the boundaries of certain design and implementation constraints, also identified in reference requirements.’ [Tracz, 1995] Recognizing the value of a reference architecture, NASA’s ESDSWG’s Standards Process Group (SPG) is introducing a multi-disciplinary science data systems (SDS) reference architecture in order to provide an implementation neutral, template solution for an architecture to support scientific data systems in general [Burnett, et al, 2011]. This reference architecture describes common features and patterns in scientific data systems, and can thus provide guidelines in building and improving such systems. But, guidelines alone may not be sufficient to actually build a system. A domain specific software architecture (DSSA) is ‘an assemblage of software components, specialized for a particular type of task (domain), generalized for effective use across that domain, composed in a standardized structure (topology) effective for building successful applications.’ [Tracz, 1995]. It can be thought of as relatively specific reference architecture. The ‘DSSA Process’ is a software life cycle developed at Carnegie Melon’s Software Engineering Institute that is based on the development and use of domain-specific software architectures, components, and tools. The process has four distinct activities: 1) develop a domain specific base/model, 2) populate and maintain the library, 3) build applications, 4) operate and maintain applications [Armitage, 1993]. The DSSA process may provide the missing link between guidelines and actual system construction. In this presentation we focus specifically on the realm of scientific data access and distribution. Assuming the role of domain experts in building data access systems, we report the results of creating a DSSA for scientific data distribution. We describe the resulting domain model and our efforts towards building a heterogenous, multi-’vendor’ architecture framework for data distribution based on that model. We draw on experiences and lessons learned supporting data access and distribution for multiple projects having common functionality but also unique details. Submitted by: Anne Wilson, LASP, [email protected]

Armitage, James, ‘Process Guide for the DSSA Process Life Cycle’, Software Engineering Institute, paper 240,, December, 1993.
Burnett, Michael, Weiss, Barry, Law, Emily, ‘NASA’s ESDS Reference Architecture’, AGU Fall Meeting, San Francisco, CA, December 2011.
Tracz, Will, ‘DSSA (Domain Specific Software Architecture) Pedagogical Example’, ACM SIGSOFT Software Engineering Notes V20 N3, July 1995.
Attachments for download: 

Name: Anne Wilson
Organization(s): LASP