From System Level Design with Rosetta
Overview
The heart of any Rosetta specification is a collection of items that represent observable quantities associated with a system. They represent a collection of things that, if properly described, provide a precise system model that can be reasoned about to predict behaviors. By defining item properties and relationships between items, a Rosetta specification defines expectations on their collective behavior and the system they represent.
An item is defined by a declaration that associates it with a type and optional value. The type represents the collection of values the item can legally assume. Rosetta types are formed from sets using traditional set operations, comprehension and extension. The optional value makes an item a constant by associating a specific value with it. Values are defined in the traditional sense as terms that are in irreducible, normal form.
Like type systems in programming languages, the Rosetta type system specifies constraints by associating a type, like integer or set(character), with an item. Unlike traditional programming language type systems, Rosetta types may be defined by comprehension using a property to filter an existing type. Thus, a Rosetta type asserts properties on an item by restricting it to a set of values or defining a property the item must have to be of a particular type. Using types to specify properties in this way is a critical part of Rosetta specification. The first step in this process is understanding item declaration and how types and values are associated with...
Products & Services
Topics of Interest
Overview The Rosetta expression language is used to define properties involving Rosetta items. The simplest Rosetta expression is an atomic expression consisting of a literal or an item name and...
Overview Rosetta's function definition and evaluation capability provides function definition and application capabilities and a collection of advanced capabilities for more sophisticated and...
Overview Because any Rosetta item whose value is a set can be used to create a type, creating new types is the same process as creating new sets. Rosetta provides three basic mechanisms for forming...
Overview Rosetta defines several type categories that include elemental, composite, function, constructed, and facet types. The first of these categories, the elemental types, defines types as...
Overview Rosetta's composite types define homogeneous collections of data. The composite type subsystem provides mechanisms for defining and manipulating three primary data containers, sets,...