<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>Architecture_Overview</title>
		<link type="text/css" rel="stylesheet" href="../resources/bootstrap.css"/>
		<link type="text/css" rel="stylesheet" href="../resources/custom.css"/>
	</head>
	<body>
		<h1 id="SiriusArchitectureOverview">﻿Sirius Architecture Overview</h1>
		<p>Sirius is a platform for developing and using graphical model editors for any domain. It is based on the Eclipse Platform, and in particular the Eclipse Modeling stack based on EMF. The Sirius platform itself is domain-agnostic, in that it can be used to create modelers for any business domain as long as they can described using EMF.
			<br/>There are two categories of users of Sirius:
		</p>
		<ol>
			<li> 
				<strong>Architects</strong>  use Sirius to develop modelers for their specific business domains, provided they have defined their domain using EMF’s Ecore.
			</li>
			<li>
				<strong>End Users</strong>  use the resulting modelers to create, view, edit, and in general manipulate actual business models of their domain.
			</li>
		</ol>
		<p>The general architecture of Sirius is illustrated in the figure below and reflects this split:</p>
		<img style="box-shadow: 0 0 0 0" border="0" src="images/Sirius - High-Level Architecture Overview.png"/> 
		<p>On top of Eclipse and EMF, Sirius is made of two main parts.</p>
		<p>The Sirius 
			<strong>tooling</strong>   (on the right hand of the figure), is the part used by architects. It provides an environment in which they can specify the modeler(s) they want to give to their end-users. This specification is done in a declarative way, by configuring a 
			<em>description model</em> . For each modeler, the architect must specify in the description model:
		</p>
		<ol>
			<li>
				<em>what</em>  is to be represented in the modeler, i.e. which elements of the domain model should be visible;
			</li>
			<li>how these elements should 
				<em>look</em> , i.e. visual styling information;
			</li>
			<li>how these elements should 
				<em>behave</em> , i.e. which tools and interaction modes are available to the end-users to modify the business models, and how each tool behaves.
			</li>
		</ol>
		<p>The Sirius Tooling provides a complete, easy to use environment for architects to create these specifications. The result is a (set of) 
			<em>description model(s)</em> , optionally with some accompanying Java code, that can be deployed as a normal Eclipse plug-in.
		</p>
		<p>The Sirius 
			<strong>runtime</strong>  (on the left hand of the figure), is the part used by end-users, along with the modeler definition(s) produced by the architects. End-users do not need the Sirius Tooling in order to use Sirius-based modelers. The runtime is responsible for 
			<em>interpreting</em>  the modeler description models and presenting to the user actual modeler(s) which look and behave as specified in the description.
			<br/>To do this, the runtime uses a 
			<em>representation model</em>  (and the corresponding meta-model), which describes the concrete representation(s) of end-users business models according to what is configured in the modelers’ specifications (i.e. which concrete business elements are represented, and how they look). These representation models are produced by the Sirius runtime using a refresh algorithm which produces a “projection” of the business data onto the representation domain using the rules defined in the modeler’s definitions.
			<br/>The representation model is then shown to the end-user in a 
			<em>graphical editor</em> , integrated into the Eclipse workbench. Through the editor, the end-user can visualize his business model according to the rules defined by the architect in the modeler’s specification. The end-user can  also 
			<em>interact</em>  with his models as represented, but only in the ways configured by the architect. When the user interacts with the representation in the editor, some interactions (e.g. dragging and dropping and element on a diagram) can trigger behaviors defined by the architect, which will modify the underlying business model in ways that are consistent with the business rules. Whenever the business model is modified, Sirius re-launches the refresh algorithm, which is incremental: instead of creating a new representation model for the updated business model’s state, it updates the existing model and only changes the parts that need it. The ends-user can then see the effect of his changes immediately in the editor.
		</p>
		<p>
			<img style="box-shadow: 0 0 0 0" border="0" src="images/Sirius - Representation Refresh-Sync.png"/>
		</p>
		<p>An important property of the refresh algorithm(s) is that they are not only incremental in terms of changes in the business model, but also in terms of changes in the modeler description model itself. This gives rise to one of the most important and distinctive features of Sirius: support for dynamic and incremental development of modelers by architects, with real-time feedback. In practice, this means that when an architect is developing a new modeler definition (or changing an existing one), he can have both the modeler’s definition open (using the Sirius Tooling) and an example representation also open alongside, and whenever he changes the modeler’s definition and saves it, the updated definition is automatically picked-up by the runtime and taken into account instantaneously by issuing a refresh.</p>
		<p>In addition to the 
			<em>runtime</em>  vs 
			<em>tooling</em>  split, the Sirius architecture also separates the core part of the platform, which is independent on any specific kind of representation, and the 
			<em>dialect-specific extensions</em> . Each dialect, which handles a specific kind of representation, is built on top of the core architecture. For example by default Sirius supports three different dialects: diagrams, tables, and trees. More dialects can be implemented by other parties using the public APIs exposed by the Sirius core parts.
			<br/>Each dialect provides its own specific extensions to the architecture elements in the core:
		</p>
		<ol>
			<li>The representation meta-model is extended with the dialect’s own concepts. For example a diagram can have nodes and connections between these nodes.</li>
			<li>The core description meta-model is extended to support the definition of these specific concepts. The tooling environment must then be extended to allow architects to specify these new concepts (in general this part can mostly be inferred from the structure of description metamodel and thus automatically generated).</li>
			<li>Each dialect must provide its own refresh algorithm (although the Sirius core provides some common code to facilitate this).</li>
			<li>Finally, each dialect must implement the editor(s) used to present their representations to the end-users and allow them to interact with them. This is where dialects make use of additional frameworks and technologies, like GMF for example to render diagrams.</li>
		</ol>
		<p>The Sirius architecture as described in this document has the following important properties:</p>
		<ul>
			<li>separation of tooling from the runtime: smaller runtime for end-users (which are much more numerous) with no UI “pollution” by architects-specific concepts; the runtime does not care how the modeler definitions where produced: using the standard tooling, using an alternate tooling developed completely separately, produced by a program… the only requirement is that the resulting definition conforms to the meta-model.</li>
			<li>separation of the core from dialect-specific parts: isolates technical dependencies required by some dialects out of the core; allow installations with only a subset of all the supported dialects; extensible; by making even the standard dialects normal clients of the core, keeps us “honest” about our APIs: the standard dialect do not (or at least should not) have privileged access to core features that externally-developed dialects can not access; the core still provides a good place to share common abstractions and code, which results in less code in dialects, a better integration and more uniform end-user experience across different types of representations.</li>
		</ul>
	</body>
</html>