Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Requirements-based execution time prediction of a partitioned real-time system using I/O and SLOC estimates

  • 120 Accesses

  • 1 Citations

Abstract

Predicting computer processing requirements of a completed system early in the design and development lifecycle of that system is challenging. Software requirements and avionic or hardware systems often mature in parallel, and, in early stages of design, uncertainty over processing requirements makes determination of processing architecture difficult. Later in the design process, as details become finalized and prototypes are developed, estimations become increasingly more accurate. However, waiting until later in the lifecycle to make architectural changes causes those changes to be more costly and introduces schedule and technical risks. The sooner processing needs are determined and the corresponding system architecture is established, the more easily an appropriate processing platform can be incorporated into the design. This paper describes a novel approach for estimating processor utilization early in the lifecycle of a large, real-time software development project: NASA’s Orion Crew Exploration Vehicle flight software. The approach uses available requirements documentation as a basis of the estimate and decouples input/output (I/O)- and computation-based processing by estimating each separately then combining the results. This approach is unique because it can be used to estimate the execution time for unwritten or partially specified software, in addition to giving a specific contribution for I/O. The methodology for estimating I/O processing is based on quantifying data, while the methodology for estimating algorithmic processing is based on approximated code size. Results can be used as an aid to predict target processor types and quantities, allocate software to processors, predict communication bandwidth utilization, and manage processor margins.

This is a preview of subscription content, log in to check access.

Abbreviations

ARINC:

Avionics Application Standard Software Interface

CPU:

Central processing unit

CSC:

Computer software component

CSCI:

Computer software configuration item

DCM:

Display control module

FCM:

Flight control module

I/O:

Input/output

IIRD:

Internal interface requirements document

Mb:

Megabyte

MIPS:

Millions of instructions per second

NIC:

Network interface card

NRM:

Network router module

P1:

Partition 1

PA-1:

Pad abort-1

PDR:

Preliminary design review

SLOC:

Source lines of code

SIPS:

SLOC’s implementable per second

SMMC:

Smart mass memory computer

SP:

Sampling port

SRS:

Software requirements specification

SwRR:

Software requirements review

TTGE:

Time-triggered gigabit Ethernet

VMC:

Vehicle management computer

References

  1. 1

    Avionics Application Software Standard Interface: ARINC Specification 653P1-3. Aeronautical Radio, Inc., 2010-11-15.

  2. 2

    ARINC 653 (2008) An Avionics standard for safe, partitioned systems. In: Wind River Systems/IEEE Seminar. http://www.computersociety.it/wp-content/uploads/2008/08/ieee-cc-arinc653_final.pdf. Retrieved 2009-05-30

  3. 3

    Judas PA, Prokop LE (2011) A historical compilation of software and Avionics metrics with applicability to NASA Orion spacecraft flight software sizing. Innov Syst Softw Eng 7(3): 161–170

  4. 4

    Prokop LE (2012) A requirements-based SLOC analysis of NASA’s Orion Crew Exploration Vehicle (CEV) spacecraft flight software. Innov Syst Softw Eng (to be published)

Download references

Author information

Correspondence to Loraine E. Prokop.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Prokop, L.E., Hirsh, R.L. & Pagan, C. Requirements-based execution time prediction of a partitioned real-time system using I/O and SLOC estimates. Innovations Syst Softw Eng 8, 309–320 (2012). https://doi.org/10.1007/s11334-012-0182-7

Download citation

Keywords

  • Orion
  • Crew Exploration Vehicle (CEV)
  • Real-time
  • Performance
  • Input/output (I/O)
  • Central processing unit (CPU)
  • Computation
  • Processing
  • Source lines of code (SLOC)