Skip to main content
Log in

The Real-Time Process Algebra (RTPA)

  • Published:
Annals of Software Engineering

Abstract

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.

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

  • 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 

  • 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.

  • 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 

  • Cline, B. (1981), Microprogramming Concepts and Techniques, Petrcelli, New York.

    Google Scholar 

  • 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 

  • Derrick, J. and E. Boiten (2001), Refinement in Z and Object-Z: Foundations and Advanced Applications, Springer-Verlag, London.

    Google Scholar 

  • Dierks, H. (2000), “A Process Algebra for Real-Time Programs, ” Lecture Notes in Computer Science, Vol. 1783, Springer, Berlin, pp. 66–76.

    Google Scholar 

  • Fecher, H. (2001), “A Real-Time Process Algebra with Open Intervals and Maximal Progress, ” Nordic Journal of Computing 8, 3, 346–360.

    Google Scholar 

  • 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 

  • Higman, B. (1977), A Comparative Study of Programming Languages, 2nd ed., MacDonald.

  • Hoare, C.A.R. (1985), Communicating Sequential Processes, Prentice-Hall.

  • 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 

  • 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 

  • 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 

  • Martin-Lof, P. (1975), “An Intuitionist Theory of Types: Predicative Part, ” In Logic Colloquium 1973, H. Rose and J.C. Shepherdson, Eds., North-Holland.

  • Milner, R. (1989), Communication and Concurrency, Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • 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.

  • 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 

  • Schneider, S.A. (1991), “An Operational Semantics for Timed CSP, ” Programming Research Group Technical Report TR–1–91, Oxford University.

  • 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 

  • Wang, Y. (2001), “Formal Description of the UML Architecture and Extendibility, ” The International Journal of the Object 6, 4, 469–488.

    Google Scholar 

  • 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.

  • 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 

  • 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 

  • 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 

  • Wang, Y. and G. King (2000), Software Engineering Processes: Principles and Applications, CRC Press, 752 pp.

  • 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.

  • 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.

  • Wilson, L.B. and R.G. Clark (1988), Comparative Programming Languages, Addison-Wesley, Wokingham, England.

    Google Scholar 

  • Woodcock, J. and J. Davies (1996), Using Z: Specification, Refinement, and Proof, Prentice Hall International, London.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, Y. The Real-Time Process Algebra (RTPA). Annals of Software Engineering 14, 235–274 (2002). https://doi.org/10.1023/A:1020561826073

Download citation

  • Issue Date:

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

Navigation