Rosetta is a specification language for designing hardware and software systems with a view to being able to consider multiple system perspectives concurrently (such as functional correctness, performance constraints, and physical constraints). It also provides the capability to integrate components from heterogeneous domains, such as software and reconfigurable systems and digital and analog hardware.
This paper explores a semantic framework for Rosetta in terms of category theory. We outline how a specification can be equated with a theory. We outline how a specification can be equated with a theory, and the different components which satisfy a specification can be equated with the algebras which satisfy this theory. From this, we define a category consisting of all legal specifications in a given language, and then show how the notions of extension and interaction of specifications can be modelled by means of colimits within this category. This requires a consideration of the different notions of equivalence of specifications, including behavioural equivalence, axiom abstraction and signature abstraction. Finally, we briefly outline how information hiding might be included in the construction of objects within the category of theories.
While the motivation for this work is the semanitcs of Rosetta, the approach adopted can be applied to other specification languages which support multifaceted, heterogenous specifications.
|Cite as: Menon, C., Kong, C. and Lakos, C. (2004). Towards a Semantic Basis for Rosetta. In Proc. Twenty-Seventh Australasian Computer Science Conference (ACSC2004), Dunedin, New Zealand. CRPIT, 26. Estivill-Castro, V., Ed. ACS. 175-184. |