Defining a Formal Coalgebraic Semantics for The Rosetta Specification Language
Cindy Kong (Department of Electrical Engineering and Computer Science, Information and Telecommunication Technology Center, The University of Kansas, USA)
Perry Alexander (Department of Electrical Engineering and Computer Science, Information and Telecommunication Technology Center, The University of Kansas, USA)
Catherine Menon (Department of Computer Science, The University of Adelaide, Australia)
Abstract: Rosetta is a systems level design language that allows algebraic specification of systems through facets. The usual approach to formally describe a specification is to define an algebra that satisfies the specification. Although it is possible to formally describe Rosetta facets with the use of algebras, we choose to use the dual of algebra, i.e. coalgebra, to do so. Coalgebras are particularly suited for describing state-based systems. This makes formally defining state-based Rosetta quite straightforward. For non-state-based Rosetta, the formalization is not as direct, but can still be done with coalgebras by focusing on the behaviors of systems specified. We use denotational semantics to map Rosetta syntactic constructs into a language understood by the coalgebras.
Keywords: algebraic specification, coalgebra, denotational semantics, formal semantics, state-based, system behavior, system level design language
Categories: F.1.1, F.3.2, F.4.3