Efficiency, effectiveness and fault tolerance are important quality determining parameters of real time application. This paper proposes a metric for determining efficiency, effectiveness and fault tolerance for any real time application. Metric compute the values from timeliness and correct no of outputs in given interval.
Timeliness,deadlines,weighted percentage,Effciency ,effectiveness
Metrics, also known as 'measures' or 'key performance indicators' (KPIs), are simply a tool for assessing the impact of a particular project or activity. Metrics provide clearly defined goals and scope for projects, allowing for more concrete design, planning and implementation. Metrics state "this is what we plan to do, and this is the benefit it will have".
The importance of software measurements has been recognized in improving process, products and services. Software metrics is measurements based technique in software development process that helps in driving meaningful information at software infantry level. Effective software project management requires measuring attributes of software process and product. Such measurements would make project managers better informed about issues such as delivery time, effort, cost and resource . Measurements provide bases for metrics and a number of software metrics have been evolved depending upon measurements to estimate the cost, complexity and effort.
A Varity of metrics have been developed to evaluate the complexity of software like McCabes's cyclomatic complexity (code metrics) , Henry and Kafura's Information flow (structured metrics), Hybrid metrics (SLOC) and object oriented metrics (CK); all of them have attempted to measure the structural and the design level complexities of the software, termed as static metrics . However we are not aware of any research studies that compute quality of application on the bases of efficiency and effectiveness. Real-Time systems span several domains of computer science. They are defense and space systems, networked multimedia systems, embedded automative electronics etc. In a real-time system the correctness of the system behavior depends not only the logical results of the computations, but also on the physical instant at which these results are produced. A real-time system changes its state as a function of physical time, e.g., a chemical reaction continues to change its state even after its controlling computer system has stopped. Based on this a real-time system can be decomposed into a set of subsystems i.e., the controlled object, the real-time computer system and the human operator. A real-time computer system must react to stimuli from the controlled object (or the operator) within time intervals dictated by its environment. The instant at which a result is produced is called a deadline. If the result has utility even after the deadline has passed, the deadline is classified as soft, otherwise it is firm. If a catastrophe could result if a firm deadline is missed, the deadline is hard. Commands and Control systems, Air traffic control systems are examples for hard real-time systems. On-line transaction systems, airline reservation systems are soft real-time systems .
Classification Of Real-Time Systems
Real-Time systems can be classified from different perspectives. The first two classifications, hard real-time versus soft real-time, and fail-safe versus fail-operational, depend on the characteristics of the application, i.e., on factors outside the computer system. The second three classifications, guaranteed-timeliness versus best-effort, resource-adequate versus resource-inadequate, and event-triggered versus time-triggered, depend on the design and implementation, i.e., on factors inside the computer system. However this paper focuses on the differences between hard and soft real-time classification.
The response time requirements of hard real-time systems are in the order of milliseconds or less and can result in a catastrophe if not met. In contrast, the response time requirements of soft real-time systems are higher and not very stringent. In a hard real-time system, the peak-load performance must be predictable and should not violate the predefined deadlines. In a soft real-time system, a degraded operation in a rarely occurring peak load can be tolerated. A hard real-time system must remain synchronous with the state of the environment in all cases. On the other hand soft real-time systems will slow down their response time if the load is very high. Hard real-time systems are often safety critical. Hard real-time systems have small data files and real-time databases. Temporal accuracy is often the concern here. Soft real-time systems for example, on-line reservation systems have larger databases and require long-term integrity of real-time systems. If an error occurs in a soft real-time system, the computation is rolled back to a previously established checkpoint to initiate a recovery action. In hard real-time systems, roll-back/recovery is of limited use. In systems where applications miss deadlines without changing any other aspect of their processing, the performance of the applications can be characterized directly by measuring the deadline misses. The number and frequency of missed deadlines and the amount by which they are missed are all important characterizations of this aspect of soft real-time performance. However, these measures may fail to fully characterize the impact of the deadline misses.
Specifically, without looking at the benefit specifications, the characterization of the relative importance of the application and the benefit provided at various levels of performance, it is impossible to quantify the impact of the deadline misses. For those applications with non-linear benefit functions this effect may be amplified inasmuch as they may provide significantly different amounts of benefit for small changes in allocated resources, deadlines missed,or amount by which deadlines are missed. This benefit information, and the output quality and user satisfaction that it reflects, is absent in any simple measure of deadline misses.A hard real-time system must execute a set of concurrent real-time tasks in a such a way that all time-critical tasks meet their specified deadlines. Every task needs computational and data resources to complete the job. The scheduling problem is concerned with the allocation of the resources to satisfy the timing constraints. Hard real-time scheduling can be broadly classifies into two types: static and dynamic. In static scheduling, the scheduling decisions are made at compile time. A run-time schedule is generated off-line based on the prior knowledge of task-set parameters, e.g., maximum execution times, precedence constraints, mutual exclusion constraints, and deadlines. So run-time overhead is small. On the other hand, dynamic scheduling makes its scheduling decisions at run time, selecting one out of the current set of ready tasks. Dynamic schedulers are flexible and adaptive. 
The logic of an application may include actions whose completions are time-constrained. For this discussion, we choose threads as the reference execution entities that perform actions. Any given thread may perform any combination of time-constrained ("real-time") and non-time-constrained ("non-real-time")actions. Deadlines the best-known case of time constraints.The best-known example of a time constraint is a deadline, but it is a simple one and there are many others (as we will discuss). The use of deadlines in real-time computing is a relatively recent small fraction of the overall theory and practice of deadline-based resource management in various fields (notably logistical fields). In particular, the real-time computing community historically focuses primarily on hard deadlines.The traditional model of an action having a hard deadline at time td is simply that the action's completion either meets or misses its deadline.
(The semantics of a deadline -- i.e., the specific way in which system timeliness depends on whether any particular deadline is met, such as whether a miss constitutes a failure -- is not part of the definition of a deadline, contrary to popular misconception in the real-time computing community. These consequences are properly specified as part of the sequencing optimality criteria.)When the term "deadline" is used without the qualifier "hard," it refers to the general case of a deadline -- a soft deadline, of which a hard deadline is a special case: the action is either more or less timely, depending on what its completion time is with respect to its deadline td [Pinedo 02].
Conclusion and Future Work:
In this paper we propose a metric for determining effecincy,effectiveness,quality ,crash ratio, life time .this metrics calculate certain percentage of efficiency and effectiveness using new formulas for calculating theses meaures.These measures categories the application quality according the obtained percentages and find out crash ratio and life time of application. Metric in future This metric will be tested for different real time application and estimated results will be compared to actual results.
- http://www.steptwo.com.au/papers/kmc_metrics/index.html accessed on 8 /8/2008
- http://www.ece.cmu.edu/~koopman/des_s99/real_time/ accessed on 8 /8/2008
- Performance Analysis of Dynamic Soft Real-Time Systems by Scott A. Brandt Computer Science DepartmentUniversity of California, Santa Cruz randt @ cse.ucsc.e
- Pinedo 02 Pinedo, M., Scheduling: Theory, Algorithms, and Systems, 2nd edition, Prentice Hall, 2002, ISBN 0-130-28138-7.
- Sana Abiad, Ramzi A Haraty, and Nashat Mansour, "Software Metrics for Small Database Applications", ACM SAC'00, March 2000, PP. 866-870.
- http://www.realtime.org/sequencing.htm accessd on 7 aug 2008.
- Justus S, Lyakutti K, "Assessing the Object-level Behavioral Complexity in Object Relational Databases" 2007 IEEE International Conference on Software-Science, Technology and Engineering.