Skip to main content
Log in

Design and Programming Tools for Time Critical Applications

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

The development of time critical applications needs specific tools able to cope with both functional and non-functional requirements. In this paper we describe a design and programming environment to assist the development of hard real-time applications. An interactive graphic interface is provided to facilitate the design of the application according to three hierarchical levels. The development model we propose is based on an iterative process in which the real-time scheduling support is considered from the beginning of the design phases.

Our graphic environment integrates several tools to analyze, test, and simulate the real-time application under development. In particular, the tools we have implemented are: a Design Tool, to describe the structure of the application, a Schedulability Analyser Tool (SAT), to verify off-line the feasibility of the schedule of a critical task set, a Scheduling Simulator, to test the average behavior of the application, and a Maximum Execution Time (MET) estimator to bound the worst case duration of each task.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Ancilotti, P., Buttazzo, G. C., Di Natale, M., and Spuri, M. 1993. TRACS: A flexible real-time environment for traffic control systems. Proceedings of IEEE Workshop on Real-Time Applications New York, NY, pp. 50–53.

  • Audsley, N., Burns, A., Richardson, M., and Wellings, A. 1992. Hard real-time scheduling: The deadline monotonic approach. IEEE Workshop on Real-Time Operating Systems.

  • Baker, T. P. 1991. Stack-based scheduling of real-time processes. The Journal of Real-Time Systems 3(1): 67–100.

    Google Scholar 

  • Bohem, B. W., and Papaccio, P. N. 1988. Understanding and controlling software costs. IEEE Transactions on Software Engineering 15(7): 902–916.

    Google Scholar 

  • Brooks, R. A. 1986. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation 2(1): 14–23.

    Google Scholar 

  • Burns, A. 1991. Scheduling hard real-time systems: a review. Software Engineering Journal May: 116–128.

  • Buttazzo, G. C., Di Natale, M. 1993. HARTIK: a hard real-time kernel for programming robot tasks with explicit time constraints and guaranteed execution. Proceedings of IEEE International Conference on Robotics and Automation Atlanta.

  • Buttazzo, G. C. 1993. HARTIK: a hard real-time kernel for robotic applications. Proceedings of IEEE Real-Time Systems Symposium, Raleigh-Durham.

  • Chen, M., and Lin, K. 1990. Dynamic priority ceilings: A concurrency control protocol for real-time systems. Real-Time Systems 2.

  • Gomaa, H. 1984. A software design method for real-time systems. Communications of then ACM 9(27): 938–949.

    Google Scholar 

  • Hansen, P. B. 1975. The programming language concurrent pascal. IEEE Transactions on Software Engineering SE-1(2): 199–207.

    Google Scholar 

  • Harmon, M. 1990. Predicting execution time of real-time programs on contemporary machines. Proceedings of the 28th Annual Southeast Regional Conference ACM, Greenville S. Carolina.

    Google Scholar 

  • Kopetz, H., Zainlinger, R., Fohler, G., Kantz, H., Puschenr, P., Scutz, W. 1991. The design of real-time systems: from specification to implementation and verification. Software Engineering Journal May: 72–82.

  • Leon, G., Due Nas, J. VC., De La Puente, J. A., Alonso, A., Zakhama, N. 1993. The IPTRES environment: support for incremental etherogeneous and distributeds prototipyng. The Journal of Real-Time Systems 5: 153–171.

    Google Scholar 

  • Liu, C. L., and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of ACM 20(1): 46–61.

    Google Scholar 

  • Liu, J. W. S., et al. 1993. PERTS: A prototyping environment for real-time systems. Proceedings of IEEE Real-Time Systems Symposium Raleigh-Durham.

  • Mok, A. K. 1983. Fundamental design problems of distributed systems for hard real-time environments. Ph.D. Dissertation, MIT.

  • Niehaus, D., Nahum, E., and Stankovic, J. A. 1991. Predictable real-time caching in the spring system. IFAC Real-Time Programming: 79–83.

  • Pulli, P., Elmstrom, R. 1993. IPTES: A concurrent engineering approach for real-time software development. Real-Time Systems 5:139–152.

    Google Scholar 

  • Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocol: An approach to real-time synchronization. IEEE Transactions on Computer 39(9): 1175–1185.

    Google Scholar 

  • Sprunt, B., Sha, L., and Lehoczky, J. P. 1989. Aperiodic task scheduling for hard real-time systems. Real-Time Systems 1: 27–60.

    Google Scholar 

  • Spuri, M., and Buttazzo, G. C. 1996. Scheduling aperiodic tasks in dynamic priority systems. Real-Time Systems 10(2): 179–210.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ancilotti, P., Buttazzo, G., Natale, M.D. et al. Design and Programming Tools for Time Critical Applications. Real-Time Systems 14, 251–267 (1998). https://doi.org/10.1023/A:1007916307060

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1007916307060

Navigation