Overview
The Rosetta language project focuses on the development of a
syntax and formal specification of a system-level specifiation
language. The Rosetta language uses facets, domains
and interactions to model the various aspects of a system
and how those aspect interact. The goal is providing a language
that supports predicting how local design decisions impact
system-level design requirements.
A facet is the fundamental design unit in a Rosetta
specifiation. Each facet is a model of a system from one
modeling perspective. Thus, several facets are used in parallel
to model a system from multiple perspectives.
A domain provides vocabulary and semantics for facet
definition. Each domain encodes model-of-computation
information, standard modeling vocabulary and semantics for a
given modeling domain. Each facet extends a domain to define a
model.
An interation defines how information from two domains
interacts. Each interaction encodes a mechanism for translating
information from one domain into another. Using domains, it is
possible to integrate facets from multiple domains structually
as well as in parallel. Parallel facets must be mutually
consistent with respect to interactions between them for a
Rosetta model to be correct.
The Rosetta team is actively engaged in developing a language
standard to be submitted to IEEE; a standard defining base
modeling domains; a usage model; and prototype tools for
modeling various systems. The language standard is well
underway and a book from Morgan Kaufmann is due to appear in
Fall 2006. However, assistance is still required and we welcome
anyone willing to participate in the process as a developer or
reviewer.
Other Rosetta related projects in the System-Level Design Group
include:
Sponsors
This work was sponsored in part by a grants from The National
Science Foundation, Defense Advanced Research Projects Agency,
NASA, EDAptive, Cadstone, and ITTC.