Annals of Software Engineering

, Volume 14, Issue 1–4, pp 235–274 | Cite as

The Real-Time Process Algebra (RTPA)

  • Yingxu Wang


The real-time process algebra (RTPA) is a set of new mathematical notations for formally describing system architectures, and static and dynamic behaviors. It is recognized that the specification of software behaviors is a three-dimensional problem known as: (i) mathematical operations, (ii) event/process timing, and (iii) memory manipulations. Conventional formal methods in software engineering were designed to describe the 1-D (type (i)) or 2-D (types (i) and (iii)) static behaviors of software systems via logic, set and type theories. However, they are inadequate to address the 3-D problems in real-time systems. A new notation system that is capable to describe and specify the 3-D real-time behaviors, the real-time process algebra (RTPA), is developed in this paper to meet the fundamental requirements in software engineering.

RTPA is designed as a coherent software engineering notation system and a formal engineering method for addressing the 3-D problems in software system specification, refinement, and implementation, particularly for real-time and embedded systems. In this paper, the RTPA meta-processes, algebraic relations, system architectural notations, and a set of fundamental primary and abstract data types are described. On the basis of the RTPA notations, a system specification method and a refinement scheme of RTPA are developed. Then, a case study on a telephone switching system is provided, which demonstrates the expressive power of RTPA on formal specification of both software system architectures and behaviors. RTPA elicits and models 32 algebraic notations, which are the common core of existing formal methods and modern programming languages. The extremely small set of formal notations has been proven sufficient for modeling and specifying real-time systems, their architecture, and static/dynamic behaviors in real-world software engineering environment.

software engineering descriptive mathematics formal methods real-time systems algebraic specification 3-D problems architecture specification static behaviors dynamic behaviors 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Baeten, J.C.M. and J.A. Bergstra (1991), “Real Time Process Algebra, ” In Formal Aspects of Computing, Vol. 3, pp. 142–188.Google Scholar
  2. Boucher, A. and R. Gerth (1987), “A Timed Model for Extended Communicating Sequential Processes, ” In Proceedings of ICALP'87, Lecture Notes in Computer Science, Vol. 267, Springer.Google Scholar
  3. Cerone A. (2000), “Process Algebra Versus Axiomatic Specification of a Real-Time Protocol”, Lecture Notes in Computer Science, Vol. 1816, Springer, Berlin, pp. 57–67.Google Scholar
  4. Cline, B. (1981), Microprogramming Concepts and Techniques, Petrcelli, New York.Google Scholar
  5. Corsetti, E., A. Montanari, and E. Ratto (1991), “Dealing with Different Time Granularities in Formal Specifications of Real-Time Systems, ” The Journal of Real-Time Systems 3, 2, June, 191–215.Google Scholar
  6. Derrick, J. and E. Boiten (2001), Refinement in Z and Object-Z: Foundations and Advanced Applications, Springer-Verlag, London.Google Scholar
  7. Dierks, H. (2000), “A Process Algebra for Real-Time Programs, ” Lecture Notes in Computer Science, Vol. 1783, Springer, Berlin, pp. 66–76.Google Scholar
  8. Fecher, H. (2001), “A Real-Time Process Algebra with Open Intervals and Maximal Progress, ” Nordic Journal of Computing 8, 3, 346–360.Google Scholar
  9. Gerber, R., E.L. Gunter, and I. Lee (1992), “Implementing a Real-Time Process Algebra, ” In M. Archer, J.J. Joyce, K.N. Levitt, and P.J. Windley, Eds., Proceedings of the International Workshop on the Theorem Proving System and Its Applications, August, IEEE Computer Society Press, Los Alamitos, CA, pp. 144–154.Google Scholar
  10. Higman, B. (1977), A Comparative Study of Programming Languages, 2nd ed., MacDonald.Google Scholar
  11. Hoare, C.A.R. (1985), Communicating Sequential Processes, Prentice-Hall.Google Scholar
  12. Hoare, C.A.R., I.J. Hayes, J. He, C.C. Morgan, A.W. Roscoe, J.W. Sanders, I.H. Sorensen, J.M. Spivey, and B.A. Sufrin (1987), “Laws of Programming, ” Communications of the ACM 30, 8, August, 672–686.Google Scholar
  13. Jeffrey, A. (1992), “Translating Timed Process Algebra into Prioritized Process Algebra, ” In Proceedings of the 2nd International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems, J. Vytopil, Ed., Lecture Notes in Computer Science, Vol. 571, Springer-Verlag, Nijmegen, The Netherlands, pp. 493–506.Google Scholar
  14. Klusener, A.S. (1992), “Abstraction in Real Time Process Algebra, ” In Proceedings of Real-Time: Theory in Practice, J.W. de Bakker, C. Huizing, W.P. de Roever, and G. Rozenberg, Eds., Lecture Notes in Computer Science, Springer, Berlin, pp. 325–352.Google Scholar
  15. Martin-Lof, P. (1975), “An Intuitionist Theory of Types: Predicative Part, ” In Logic Colloquium 1973, H. Rose and J.C. Shepherdson, Eds., North-Holland.Google Scholar
  16. Milner, R. (1989), Communication and Concurrency, Prentice-Hall, Englewood Cliffs, NJ.Google Scholar
  17. Nicollin, X. and J. Sifakis (1991), “An Overview and Synthesis on Timed Process Algebras, ” In Proceedings of the 3rd International Computer Aided Verification Conference, pp. 376- 398.Google Scholar
  18. Reed, G.M. and A.W. Roscoe (1986), “A Timed Model for Communicating Sequential Processes, ” In Proceedings of ICALP'86, Lecture Notes in Computer Science, Vol. 226, Springer, Berlin.Google Scholar
  19. Schneider, S.A. (1991), “An Operational Semantics for Timed CSP, ” Programming Research Group Technical Report TR–1–91, Oxford University.Google Scholar
  20. Vereijken, J.J. (1995), “A Process Algebra for Hybrid Systems, ” In Proceedings of the 2nd European Workshop on Real-Time and Hybrid Systems, A. Bouajjani and O. Maler, Eds., Grenoble, France, June.Google Scholar
  21. Wang, Y. (2001), “Formal Description of the UML Architecture and Extendibility, ” The International Journal of the Object 6, 4, 469–488.Google Scholar
  22. Wang, Y. (2002a), “A New Math for Software Engineering - The Real-Time Process Algebra (RTPA), ” In Proceedings of the 2nd ASERC Workshop on Quantitative and Soft Computing Based Software Engineering (QSSE'02), April, Banff, AB, Canada.Google Scholar
  23. Wang, Y. (2002b), “A New Approach to Real-Time System Specification, ” In Proceedings of the 2002 IEEE Canadian Conference on Electrical and Computer Engineering (CCECE'02), Winnipeg, MB, Canada, May.Google Scholar
  24. Wang, Y. (2002c), “Description of Static and Dynamic Behaviors of Software Components by the Real-Time Process Algebra (RTPA), ” In Component-Based Software Engineering, F. Barbier, Ed., Kluwer Academic, UK.Google Scholar
  25. Wang, Y. and N.C. Foinjong (2002), “Formal Specification of a Real-Time Lift Dispatching System, ” In Proceedings of the 2002 IEEE Canadian Conference on Electrical and Computer Engineering (CCECE'02),Winnipeg, MB, Canada, May.Google Scholar
  26. Wang, Y. and G. King (2000), Software Engineering Processes: Principles and Applications, CRC Press, 752 pp.Google Scholar
  27. Wang, Y., H. Sjostrom, K.-L. Lundback, G.N. Sauer, L.-B. Fredriksson, H. Edler, O. Bridal, A. Lindbom, and J. Hedberg (2000), “Distributed System Dependability Description and Comprehension, ” Technical Report D10.3 of PALBUS on Reliable/Distributed/Real-Time Control Buses, The Swedish National Testing and Research Institute (SP), pp. 1- 81.Google Scholar
  28. Wang, Y. and W. Wu (2002), “Case Studies on Translation of RTPA Specifications into Java Programs, ” In Proceedings of the 2002 IEEE Canadian Conference on Electrical and Computer Engineering (CCECE'02), Winnipeg, MB, Canada, May.Google Scholar
  29. Wilson, L.B. and R.G. Clark (1988), Comparative Programming Languages, Addison-Wesley, Wokingham, England.Google Scholar
  30. Woodcock, J. and J. Davies (1996), Using Z: Specification, Refinement, and Proof, Prentice Hall International, London.Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Yingxu Wang
    • 1
  1. 1.Theoretical and Empirical Software Engineering Research Center (TESERC), Department of Electrical and Computer EngineeringUniversity of CalgaryCalgaryCanada

Personalised recommendations