Guideline for Sizing Real-time Software

The COSMIC Functional Size Measurement Method Version 4.0.1

Lesterhuis, A., Londeix, B., Symons, C.R.

This guideline concerns the measurement of ‘real-time’ software, where we use this term in a broad sense. According to Wikipedia, ‘a system is said to be real-time if the total correctness of an operation depends not only upon its logical correctness, but also upon the time in which it is performed. Realtime systems, as well as their deadlines, are classified as ‘hard’, ‘firm’ or ‘soft’ depending on the consequence of missing a deadline;’
For the purpose of this Guideline, we also include any software whose operation is controlled by a clock mechanism. The COSMIC method can be used to measure the functionality of all these various types of ‘real-time’ software. (However, it should be noted that a specific timing constarint, or ‘deadline’
such as ‘all commands must be satisfied within 1 millisecond’ is a non-functional requirement.
COSMIC functional sizing can measure any functionality needed to achieve this constraint but the specific numerical value of the constraint (1 millisecond, or 1 microsecond, or whatever) does not actually affect the software functional size.)
Examples of real-time software include the monitoring and control of industrial systems, automated acquisition of data from the environment and scientific experiments, the monitoring and control of vehicle systems such as engines, ventilation, collision-avoidance, etc. and of household appliances.
On the large scale, real-time systems control the world’s telephone networks, individual aircraft and air traffic, power plants and such-like. Some software systems such as hotel or airline reservation systems may be described as hybrids of business application software and real-time software,
because they must process enquiries and bookings with real-time constraints. Finally, middleware and infrastructure software such as operating systems provide basic tasks and services for real-time applications and hence operate within real-time constraints.


Method no longer supported

Did you find this helpful?