In Search of the Philosopher's Stone: Simulation Composability Versus Component-Based Software Design

Abstract

ABSTRACT: The simulation community and the software engineering community are actively conducting research on technology that will make it possible to easily build complex systems by combining existing components. Advances in these research areas offer both communities numerous benefits, including reduced development time and the ability to explore a wider space of design alternatives by adding and removing components from existing software systems. In the simulation community this research falls under the umbrella of composability. In the software engineering community it is referred to as component-based software design (CBSD). We show that simulation composability and CBSD are fundamentally the same. Both communities have made significant progress addressing the syntactic, or software connection, issues of composability, but it has been difficult to guarantee that composed components behave meaningfully (described as semantic composability within the simulation community). We demonstrate that although the software engineer's perspective on the composability problem is different, it differs only in terms of semantics and scale. By focusing on the similarities, we will show where the simulation community can gain insight from past and current CBSD research within the software engineering community. Additionally, we will address unique characteristics of simulations, such as the common use of stochastic sampling, time management, and event generation, for providing special opportunities for composability.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 2004
Accession Number
ADA446993

Entities

People

  • David C. Brogan
  • Joseph C. Carnahan
  • Paul F. Reynolds Jr.
  • Robert G. Bartholet

Organizations

  • University of Virginia

Tags

Communities of Interest

  • Ground and Sea Platforms

DTIC Thesaurus Topics

  • Abstracts
  • Application Software
  • Commerce
  • Complex Systems
  • Computer Programs
  • Computer Science
  • Computers
  • Demographic Cohorts
  • Engineering
  • Graphical User Interface
  • Interoperability
  • Language
  • Semantics
  • Simulations
  • Software Design
  • Software Development
  • Standards

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Modeling and Simulation
  • Educational Psychology
  • Enterprise Information Systems Architecture and Joint Command Capability Interoperability Support.

Technology Areas

  • Space