The semantics of programs written in some languages is concerned with the interpretation in various types of models. The purpose of structural operational semantics is to describe how a computation is performed. This method is one of the most popular semantic methods in the community of software engineers. It describes program behavior in the form of state changes caused by the execution of elementary steps. This feature predestinates the usage of the structural operational semantics for implementation of programming languages and also for verification purposes. Another semantic method, denotational semantics, defines changes of states by functions. In this paper a new approach to semantics is presented: behavior of programs, i.e., changes of states are modeled in the category of states. The morphisms category expresses elementary execution steps and the program execution is an oriented path in the category, i.e. composition of morphisms. Our categorical model is constructed for a simple procedural language that contains all basic van Dijkstra's constructs. We enriched our approach also with procedures forming a collection of categories interconnected by functors. This method enables the repeated call of procedures, nesting of procedure calls and recursive calls. Moreover, it allows to illustrate and accentuate dynamics of the program execution. The simplicity of this method does not exclude its mathematical exactness.
Publié le : 2018-02-09
Classification:  Theoretical Foundations,  Category theory, structural operational semantics, state, programming languages,  18B05, 18C50, 68Q55
@article{cai2017_6_1385,
     author = {William Steingartner; Technical University of Ko\v sice and Valerie Novitzk\'a; Technical University of Ko\v sice and Michaela Ba\v c\'\i kov\'a; Technical University of Ko\v sice and \v Stefan Kore\v cko; Technical University of Ko\v sice},
     title = {New Approach to Categorical Semantics for Procedural Languages},
     journal = {Computing and Informatics},
     volume = {36},
     number = {6},
     year = {2018},
     language = {en},
     url = {http://dml.mathdoc.fr/item/cai2017_6_1385}
}
William Steingartner; Technical University of Košice; Valerie Novitzká; Technical University of Košice; Michaela Bačíková; Technical University of Košice; Štefan Korečko; Technical University of Košice. New Approach to Categorical Semantics for Procedural Languages. Computing and Informatics, Tome 36 (2018) no. 6, . http://gdmltest.u-ga.fr/item/cai2017_6_1385/