On the mathematical laws of software

A process is a mathematical entity of composed functions. Real-time process algebra (RTPA) introduces the time dimension into the process paradigm, which is an ideal means to model software architectures and behaviors in software engineering. RTPA provides a set of formal notations and rules for describing the algebraic relations of software processes. The mathematical models and the 86 algebraic laws of process algebra are developed in this paper, which form the theoretical foundation for analyzing software architectures and behaviors. The generic applicability and high effectiveness of the algebraic laws of RTPA are demonstrated in a wide range of real-world software engineering projects

[1]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[2]  Grzegorz Rozenberg,et al.  Real-Time: Theory in Practice , 1991, Lecture Notes in Computer Science.

[3]  Yingxu Wang,et al.  The Theoretical Framework of Cognitive Informatics , 2007, Int. J. Cogn. Informatics Nat. Intell..

[4]  Yingxu Wang,et al.  Formal specification of a real-time lift dispatching system , 2002, IEEE CCECE2002. Canadian Conference on Electrical and Computer Engineering. Conference Proceedings (Cat. No.02CH37373).

[5]  Daniel F. Stubbs,et al.  Data Structures with Abstract Data Types: Pascal Version , 1984 .

[6]  Yingxu Wang,et al.  On the Big-R Notation for Describing Iterative and Recursive Behaviors , 2006, 2006 5th IEEE International Conference on Cognitive Informatics.

[7]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[8]  Yingxu Wang,et al.  The Real-Time Process Algebra (RTPA) , 2002, Ann. Softw. Eng..

[9]  A. Steven Klusener,et al.  Abstraction in Real Time Process Algebra , 1991, REX Workshop.

[10]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[11]  Henning Dierks,et al.  A Process Algebra for Real-Time Programs , 2000, FASE.

[12]  P. Martin-Löf An Intuitionistic Theory of Types: Predicative Part , 1975 .

[13]  Yingxu Wang,et al.  On Laws of Work Organization in Human Cooperation , 2007, Int. J. Cogn. Informatics Nat. Intell..

[14]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[15]  R. F. Churchhouse,et al.  A Comparative Study of Programming Languages , 1969, The Mathematical Gazette.

[16]  I. Mackenzie The Semantic Conception of Truth , 1997 .

[17]  Daniel F. Stubbs,et al.  Data structures with abstract data types and Ada , 1985 .

[18]  Yingxu Wang On Cognitive Informatics , 2003 .

[19]  John C. Mitchell,et al.  Type Systems for Programming Languages , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[20]  Yingxu Wang,et al.  Cognitive Informatics and Contemporary Mathematics for Knowledge Manipulation , 2006, RSKT.

[21]  John A. McDermid,et al.  Software Engineer's Reference Book , 1993 .

[22]  C. A. R. Hoare,et al.  Laws of programming , 1987, CACM.

[23]  Yingxu Wang Cognitive Informatics: Towards Future Generation Computers that Think and Feel , 2006, 2006 5th IEEE International Conference on Cognitive Informatics.

[24]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[25]  Noam Chomsky,et al.  Three models for the description of language , 1956, IRE Trans. Inf. Theory.

[26]  Jan A. Bergstra,et al.  Real time process algebra , 1991, Formal Aspects of Computing.

[27]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[28]  Noam Chomsky,et al.  On Certain Formal Properties of Grammars , 1959, Inf. Control..

[29]  Daniel F. Stubbs,et al.  Data structures with abstract data types and Pascal: 2nd edition , 1989 .

[30]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[31]  Yingxu Wang,et al.  Formal description of a real-time operating system using RTPA , 2003, CCECE 2003 - Canadian Conference on Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436).

[32]  Harald Fecher,et al.  A Real-Time Process Algebra with Open Intervals and Maximal Progress , 2001, Nord. J. Comput..

[33]  Yingxu Wang,et al.  Software Engineering Foundations: A Software Science Perspective , 2007 .

[34]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.

[35]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[36]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[37]  Yingxu Wang,et al.  Design and Implementation of an Automatic RTPA Code Generator , 2006, 2006 Canadian Conference on Electrical and Computer Engineering.

[38]  Yingxu Wang,et al.  A novel type checker for software system specifications in RTPA , 2004, Canadian Conference on Electrical and Computer Engineering 2004 (IEEE Cat. No.04CH37513).

[39]  Joseph Sifakis,et al.  An Overview and Synthesis on Timed Process Algebras , 1991, CAV.

[40]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, ICALP.

[41]  Yingxu Wang On the Big-R Notation for Describing Iterative and Recursive Behaviors , 2006, 2006 5th IEEE International Conference on Cognitive Informatics.

[42]  Yingxu Wang,et al.  Using Process Algebra to Describe Human and Software Behaviors , 2003 .

[43]  Patricia Adams,et al.  Programming Languages: Principles and Practice , 1993 .

[44]  Alaa A. Kharbouch,et al.  Three models for the description of language , 1956, IRE Trans. Inf. Theory.

[45]  Yingxu Wang On the informatics laws and deductive semantics of software , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[46]  C. I. Lewis,et al.  The Semantic Conception of Truth and the Foundations of Semantics , 1944 .

[47]  Steve A. Schneider,et al.  An Operational Semantics for Timed CSP , 1995, Inf. Comput..

[48]  Bryan Higman,et al.  A Comparative Study of Programming Languages. , 1969 .

[49]  George Boole,et al.  The Laws of Thought , 2003 .

[50]  Robert G. Clark,et al.  Comparative Programming Languages , 2000 .

[51]  Yingxu Wang,et al.  Formal description of an ATM system by RTPA , 2003, CCECE 2003 - Canadian Conference on Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436).

[52]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.