Abstract
It is common to consider a program as a relation on the set of its possible states. The relational equations describing the behavior of programs can be object level, i.e., they refer to states and values of variables, or they can be relation level, i.e., the constants and variables in the equations range over relations. Relation level work using binary relations has been mostly limited to the study of statements. This is partly because the calculus of binary relations has no operator for accessing the cartesian components of the space of the program, so that it is difficult to discuss expressions and declarations. This paper introduces an algebra that combines features of Codd's relational algebra and of the algebra of binary relations. Using this hybrid algebra, we give a relation level semantics of a language with types, procedures, and variable declarations.CR CategoriesD.1.4 [Programming Techniques] Sequential ProgrammingD.3.1 [Programming Languages] Formal Definitions and Theory: Semantics F.3.1 [Logics and Meanings of Programs] Specifying and Verifying and Reasoning about programs: Relations F.3.2 [Logics and Meanings of Programs] Semantics of Programming Languages: Algebraic approaches to semantics, Denotational Semantics F.3.3 [Logics and Meanings of Programs] Studies of Program Constructs: Control Structures, Procedures, Expressions
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.