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.
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.
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.
Cline, B. (1981), Microprogramming Concepts and Techniques, Petrcelli, New York.
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.
Derrick, J. and E. Boiten (2001), Refinement in Z and Object-Z: Foundations and Advanced Applications, Springer-Verlag, London.
Dierks, H. (2000), “A Process Algebra for Real-Time Programs, ” Lecture Notes in Computer Science, Vol. 1783, Springer, Berlin, pp. 66–76.
Fecher, H. (2001), “A Real-Time Process Algebra with Open Intervals and Maximal Progress, ” Nordic Journal of Computing 8, 3, 346–360.
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.
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.
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.
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.
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.
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.
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.
Wang, Y. (2001), “Formal Description of the UML Architecture and Extendibility, ” The International Journal of the Object 6, 4, 469–488.
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.
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.
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.
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.
Woodcock, J. and J. Davies (1996), Using Z: Specification, Refinement, and Proof, Prentice Hall International, London.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1020561826073