Specifying functional and timing behavior for real-time applications

  • Mario R. Barbacci
  • Jeannette M. Wing
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 259)


We present a notation and a methodology for specifying the functional and timing behavior of real-time applications for a heterogeneous machine. In our methodology we build upon well-defined, though isolated, pieces of previous work: Larch and Real Time Logic. In our notation, we strive to keep separate the functional specification from the timing specification so that a task's functionality can be understood independently of its timing behavior. We show that while there is a clean separation of concerns between these two specifications, the semantics of both pieces as well as their combination are simple.


Timing Behavior Output Port Input Port Timing Expression Task Description 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    W.B. Ackerman. Data Flow Languages. IEEE-CS Computer 15(2), February, 1982.Google Scholar
  2. [2]
    E.A. Ashcroft and W.W. Wadge. LUCID: The Data Flow Programming Language. Academic Press, 1985.Google Scholar
  3. [3]
    M.R. Barbacci and J.M. Wing. Durra: A Task-level Description Language. Technical Report CMU/SEI-86-TR-3, Software Engineering Institute, Carnegie Mellon University, 1986.Google Scholar
  4. [4]
    J-L. Bergerand, P. Caspi, N. Halbwachs, D. Pilaud, and E. Pilaud. Outline of a Real Time Data Flow Language. In Procedings of the IEEE-CS Real Time Systems Symposium, pages 33–42. IEEE Computer Society Press, December, 1985.Google Scholar
  5. [5]
    G. Birkhoff and J.D. Lipson. Heterogeneous Algebras. Journal of Combinatorial Theory 8:115–133, 1970.Google Scholar
  6. [6]
    R.M. Burstall, and J.A. Goguen. Putting Theories Together to Make Specifications. In Fifth International Joint Conference on Artificial Intelligence, pages 1045–1058. August, 1977. Invited paper.Google Scholar
  7. [7]
    R.H. Campbell and A.N. Habermann. The Specification of Process Synchronization by Path Expressions. Lecture Notes in Computer Science. Springer-Verlag, 1974, pages 89–102.Google Scholar
  8. [8]
    P. Caspi, D. Pilaud, N. Halbwachs, and J.A. Plaice. LUSTRE: A Declarative Language for Programming Synchronous Systems. In Procedings of the 14th Annual ACM Symposium on Principles of Programming Languages, pages 178–188. ACM, January, 1987.Google Scholar
  9. [9]
    J.E. Coolahan and N. Roussopulos. A Timed Petri Net Methodology for Specifying Real-Time System Requirements. In International Workshop on Timed Petri Nets, pages 24–31. IEEE Computer Society Press, Torino, Italy, July, 1985.Google Scholar
  10. [10]
    Dasarthy. Timing Constraints of Real-Time Systems: Constructs for Expressing Them, Methods of Validating Them. IEEE Transactions on Software Engineering 11(1):80–86, January, 1985.Google Scholar
  11. [11]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1. Springer-Verlag, 1985.Google Scholar
  12. [12]
    J.A. Goguen, J.W. Thatcher, E.G. Wagner, and J.B. Wright. Abstract Data Types as Initial Algebras and Correctness of Data Representations. In Proceedings from the Conference of Computer Graphics, Pattern Recognition and Data Structures, pages 89–93. ACM, May, 1975.Google Scholar
  13. [13]
    D.I. Good, R.M. Cohen, C.G. Hoch, L.W. Hunter, and D.F. Hare. Report on the Language Gypsy, Version 2.0. Technical Report ICSCA-CMP-10, Certifiable Minicomputer Project, The University of Texas at Austin, September, 1978.Google Scholar
  14. [14]
    J.V. Guttag. The Specification and Application to Programming of Abstract Data Types. PhD thesis, University of Toronto, Toronto, Canada, September, 1975.Google Scholar
  15. [15]
    J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in Five Easy Pieces. Technical Report 5, DEC Systems Research Center, July, 1985.Google Scholar
  16. [16]
    J.V. Guttag, J.J. Horning, and J.M. Wing. The Larch Family of Specification Languages. IEEE Software 2(5):24–36, September, 1985.Google Scholar
  17. [17]
    C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM 12(10):576–583, October, 1969.CrossRefGoogle Scholar
  18. [18]
    C.A.R. Hoare. Proof of Correctness of Data Representations. Acta Informatica 1(1):271–281, 1972.CrossRefGoogle Scholar
  19. [19]
    F. Jahanian and A.K. Mok. Safety Analysis of Timing Properties in Real-Time Systems. IEEE Transactions on Software Engineering 12(9):890–904, September, 1986.Google Scholar
  20. [20]
    I. Lee, and V. Gehlot. Language Constructs for Distributed Real-Time Programming. In Proceedings of the Real-Time Systems Symposium, pages 57–66. San Diego, December, 1985.Google Scholar
  21. [21]
    P. Lescanne. Computer Experiments with the REVE Term Rewriting System Generator. In Proceedings of Tenth Symposium on Principles of Programming Languages, pages 99–108. ACM, Austin, Texas, January, 1983.Google Scholar
  22. [22]
    D.R. Musser. Abstract Data Type Specification in the Affirm System. IEEE Transactions on Software Engineering 6(1):24–32, January, 1980.Google Scholar
  23. [23]
    C. Ramchandani. Analysis of Asynchronous Concurrent Systems by Petri Nets. Technical Report TR-120, MIT Project MAC, 1974.Google Scholar
  24. [24]
    L. Robinson, and O. Roubine. SPECIAL — A Specification and Assertion Language. Technical Report CSL-46, Stanford Research Institute, Menlo Park, Ca., January, 1977.Google Scholar
  25. [25]
    J. Scheid and S. Anderson. The Ina Jo Specification Language Reference Manual. Technical Report TM-(L)-6021/001/00, System Development Corporation, Santa Monica, CA, March, 1985.Google Scholar
  26. [26]
    J. Sifakis. Use of Petri Nets for Performance Evaluation. In Proceedings of the IFIP Third International Workshop on Modeling and Performance Evaluation of Computer Systems, pages 75–93. North-Holland Publishing Co., Amsterdam, The Netherlands, 1977.Google Scholar
  27. [27]
    C.U. Smith. Robust Models for the Performance Evaluation of Hardware/Software Designs. In International Workshop on Timed Petri Nets, pages 172–180. IEEE Computer Society Press, Torino, Italy, July, 1985.Google Scholar
  28. [28]
    C.Y. Wong, T.S. Dillon, and K.E. Forward. Timed Places Petri Nets With Stochastic Representation of Place Time. In International Workshop on Timed Petri Nets, pages 96–103. IEEE Computer Society Press, Torino, Italy, July, 1985.Google Scholar
  29. [29]
    W.M. Zuberek. Performance Evaluation Using Extended Timed Petri-nets. In International Workshop on Timed Petri Nets, pages 272–278. IEEE Computer Society Press, Torino, Italy, July, 1985.Google Scholar
  30. [30]
    A. Zwarico and I. Lee. Proving a Network of Real-time Processes Correct. In Proceedings of Real-Time Systems Symposium, pages 169–177. San Diego, December, 1985.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Mario R. Barbacci
    • 2
    • 3
    • 1
  • Jeannette M. Wing
    • 3
    • 1
  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.Software Engineering InstituteUSA
  3. 3.Department of Computer ScienceUSA

Personalised recommendations