<?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>