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.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
Avionics Application Standard Software Interface
Central processing unit
Computer software component
Computer software configuration item
Display control module
Flight control module
Internal interface requirements document
Millions of instructions per second
Network interface card
Network router module
Preliminary design review
Source lines of code
SLOC’s implementable per second
Smart mass memory computer
Software requirements specification
Software requirements review
Time-triggered gigabit Ethernet
Vehicle management computer
Avionics Application Software Standard Interface: ARINC Specification 653P1-3. Aeronautical Radio, Inc., 2010-11-15.
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
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
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)
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
- Crew Exploration Vehicle (CEV)
- Input/output (I/O)
- Central processing unit (CPU)
- Source lines of code (SLOC)