JUCS - Journal of Universal Computer Science 9(11): 1322-1349, doi: 10.3217/jucs-009-11-1322
Defining a Formal Coalgebraic Semantics for The Rosetta Specification Language
expand article infoCindy Kong, Perry Alexander, Catherine Menon§
‡ Department of Electrical Engineering and Computer Science, Information and Telecommunication Technology Center, The University of Kansas, United States of America§ Department of Computer Science, The University of Adelaide, Australia
Open Access
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
coalgebra, state-based, system behavior, algebraic specification, system level design language, formal semantics, denotational semantics