Welcome to Rosetta Core

Rosetta Core is a complete Software Development Kit (SDK or dev kit) for the Rosetta DSL.

It consists of an integrated set of tools for adopting, editing and implementing any model built on the Rosetta DSL. The ISDA Common Domain Model (CDM) is the first live application of the Rosetta DSL and is currently provided as the underlying model in Rosetta Core.

This means that users of Rosetta Core do not need to start modelling “from scratch” and can leverage the existing ISDA CDM components. This also means that Rosetta Core provides an integrated set of tools for adopting, editing and implementing the ISDA CDM.

Accessing Rosetta Core

Rosetta Core is a web application, secured with user credentials and accessible through a web browser at: https://ui.rosetta-technology.io.

../_images/2020-07-15-10-47-55.png

Upon signing in, the user is taken to their Rosetta Core Workspace.

../_images/2020-07-15-11-29-18.png

The layout should be recognisable to users of standard dev kits. However, Rosetta Core aims to simplify the experience and offer a slimmed-down interface geared towards usage by the non-developer community. As a hosted solution, Rosetta Core also abstracts away the complex environment set-up usually required in standard dev kits (configuration maintenance, dependencies, source-control management etc.), so users can focus on developing their model.

Rosetta Core Applications

Rosetta Core comprises several underlying applications, each one corresponding to different uses of the model.

The main view is the code Editor comprising three views toggled via the top toolbar:

Icon View
../_images/icon-editor.png Show Textual View
../_images/icon-grid.png Show Grid View
../_images/icon-graphical.png Show Graphical View

Additional applications can be accessed via the bottom drawer. Each has its own corresponding icon as indicated by the following table:

Icon App
../_images/icon-ingestion.png Show/Hide Ingestion
../_images/icon-projection.png Show/Hide Projection
../_images/icon-validation.png Show/Hide Validation
../_images/icon-visualisation.png Show/Hide Visualisation
../_images/icon-api-export.png Show/Hide API Export

Separate documentation resources and example usages are provided for each Rosetta Core application:

Editor
Rosetta Core contains a sophisticated interface to edit the model such as syntax highlighting, spell-checking, auto-complete and hyper-link navigation through model elements. See Editor documentation.
Textual
This is the main view of the editor.
Grid
This is a view of the editor displaying all the CDM elements in a table.
Graphical
This is a view of the editor displaying any selected CDM class as a manipulatable graphical tree.
Ingestion
Rosetta Core allows the ingestion and conversion of electronic source documents into CDM, using the native synonym feature in the Rosetta DSL to control those mappings. See Ingestion documentation.
Projection
Rosetta Core allows the projection of the CDM objects into electronic source documents.
Validation
Rosetta Core provides a user interface to test the validity of CDM objects. This interface consumes a CDM-based JSON electronic document and runs a full set of applicable rules on it (cardinality, data rules etc.).
Visualisation
Rosetta Core allows the visualisation of CDM objects. This interface consumes a CDM-based JSON electronic document.
API Export
Both Validation and Ingestion functionalities, that are available as user interfaces in Rosetta Core, can also be exported as (REST) API to be used programmatically. See REST API Export documentation.
Workspace
The various Rosetta Core applications do not exist in silos but in fact are connected together in an integrated working area. A workspace defines the environment in which a user is using the different Rosetta Core applications. See Workspace documentation.

The Rosetta Core window can split into two vertical halves depending on what applications are open, to allow the user to combine two applications together in the same workspace. Textual always occupies the top section while other Apps occupy the bottom section, like Ingestion in the below example:

core/images/2020-07-15-12-36-01.png

When only one application is open it occupies the entire screen vertically.