Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Resource Consumption

Resource Consumption analysis

System designers are concerned about resource contention and consumption. Embedded and real-time systems, such as the braking and ignition systems in an automobile, must share limited resources (e.g., memory, power, and bandwidth).

Shared, limited resources result in strong requirements for controlled resource utilization to ensure predictable order, timing, and completion of tasks. These interaction dynamics must often be stringently assured across multiple resources and types of resources to ensure that the system will meet its mission to a specified level of reliability.

More than proper system behavior is of concern. For instance, devices that use less power contribute to lower cost, lower weight, longer battery life, and the like. Power consumption is critical for hand-held, battery-powered mobile computing devices, satellite systems, and aircraft—but important anywhere power supplies or fuses limit available power.

The SEI uses model-based engineering tools, methods, and techniques give system designers insight into resource budget and use. Using this information, system designers can verify—in a more automated, integrated, well defined, and traceable way—the adequacy of system resources, evaluate options, and make choices.

Resource Analysis Concern SEI Approach Answer
Resource allocation YES Account for allocation decisions of application components to processors and to memory and any specification of actual resource usage
Network bandwidth analysis YES Provide analysis based on inferred and explicit binding of connections to buses
Power consumption YES Check connections for mismatches in supplied and required power characteristics and modeling of the power capacity of a physical system entity
Scheduling system partitions as virtual processors YES Support management of end-to-end latency

The SEI Toolkit for Resource Consumption Analysis

The SEI uses the Architecture Analysis and Design Language (AADL) to document a system architecture and provide a platform for multiple analyses. AADL, an international industry standard, supports multiple analyses from a single architectural model, enables modeling and analysis throughout the life cycle, and provides analysis of runtime behavior such as availability, performance, and security.

The SEI offers the Open Source AADL Tool Environment (OSATE) plug-in for resource budget and allocations. This analysis allows users to perform resource budgeting for processors, memory, and network bandwidth and to analyze whether the capacity is exceeded by the budgets—early and throughout the development life cycle. It includes

  • a syntax-sensitive text editor, with integrated error reporting
  • a parser and semantic checker for textual AADL with conversion into AADL XML
  • an unparser for AADL XML to textual AADL conversion
  • support for multi-enterprise development through a version control system interface

AADL also can be used with

Read our information sheet on this analysis.