blob: 4c3ce6644c2fb474776ddf28ea0dc8be642ee7ca [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-language" content="en">
<meta name="description" content="Graphical Editors for your DSL">
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="js/magnific-popup.video.js"></script>
<script type="text/javascript" src="js/magnific-popup.min.js"></script>
<script type="text/javascript" src="js/bootstrap-tab.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script src="angular/sirius.js"></script>
<link rel="icon" type="image/png" href="favicon.ico" />
<title>Sirius - Features</title>
<link type="text/css" rel="stylesheet" href="css/style.css" />
<link type="text/css" rel="stylesheet" href="css/media.css" />
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300italic,700,300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://use.fontawesome.com/ef6567f233.css">
<!-- Eclipse Foundation Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
<!-- End Google Tag Manager -->
<!-- Eclipse Foundation cookie consent: -->
<link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
<script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
<script type="text/javascript" src="js/ga.js"></script>
</head>
<body ng-app="sirius" ng-controller="main" class="cloak">
<ng-include src="'angular/blocks/header.html'"></ng-include>
<div id="body_wrapper">
<h1 class="page_title">Features for the End-Users</h1>
<p>Tools created with <b>Sirius Desktop</b> offer a rich modeling experience for the end-users having to manage very specific or complex models.
In addition to classic graphical modeling features (arranging, zooming, palettes, etc), Sirius provides extended mechanisms that can be adapted to each domain.</p>
<p>&nbsp;</p>
<div id="body_wrapper">
<div class="section left">
<div class="image">
<img class="shadow" src="images/screenshots/features/workbench.png" width="400" border="0" alt="">
</div>
<h2>Complete Modeling Workbench</h2>
<p>Natively integrated in Eclipse, end-users benefit from a complete and widely adopted workbench offering a large set of pre-built features:
<ul>
<li>frames organization,</li>
<li>search,</li>
<li>errors management,</li>
<li>navigation,</li>
<li>etc.</li>
</ul></p>
</div>
<div class="section right">
<div class="image">
<img class="shadow" src="images/screenshots/features/conditional-styles.gif" width="400" border="0" alt="">
</div>
<h2>Conditional Styles</h2>
<p>Elements on a diagram created with Sirius can dynamically adapt their graphical style (size, color, label, etc) to the values of their properties.</p>
<p>It allows the end-user to easily detect the objects of interest.</p>
</div>
<div class="section left">
<div class="image">
<img class="shadow" src="images/screenshots/features/synchronized-diagrams.gif" width="400" border="0" alt="">
</div>
<h2>Synchronized diagrams</h2>
<p>With Sirius it is possible to create diagrams that automatically populate and update their content.</p>
<p>This kind of diagram allows the end-user to benefit from representations that are always synchronized with the current model state.</p>
</div>
<div class="section right">
<div class="image">
<img class="shadow" src="images/screenshots/features/filters.gif" width="400" border="0" alt="">
</div>
<h2>Layers and filters</h2>
<p>Layers and filters on a diagram allow the end-user to hide or show some diagram elements depending on specific conditions.</p>
<p>They help in dynamically adapting and simplifying the diagram for focusing on particular aspects.</p>
</div>
<div class="section left">
<div class="image">
<img class="shadow" src="images/screenshots/features/validation.gif" width="400" border="0" alt="">
</div>
<h2>Validation</h2>
<p>Validation rules can be applied by the users to detect problems in their models.</p>
<p>The rules can relate to semantic or graphical elements. They can have several severity levels and provide quickfixes to automatically apply solutions.</p>
</div>
</div> <!-- Fin body_wrapper -->
<h1 class="page_title">Features for the Tools Makers</h1>
<p>Instead of coding your modeling editors from scratch, Sirius provides an innovative approach supported by a set of integrated features for defining, testing and packaging your modeling workbench.</p>
<p>&nbsp;</p>
<div id="body_wrapper">
<div class="section left">
<div class="image">
<img class="shadow" src="images/screenshots/features/emf.png" width="400" border="0" alt="">
</div>
<h2>EMF-based</h2>
<p>Relying on EMF (Eclipse Modeling Framework), Sirius benefits from very powerful features for defining and managing structured data model: domain model definition, reflective API, change notification, etc.</p>
<p>It also facilitates the integration with a large ecosystem of modeling technologies also based on EMF (Acceleo, Xtext, EMF Compare, etc).</p>
</div>
<div class="section right">
<div class="image">
<img class="shadow" src="images/screenshots/features/sirius-editor.png" width="400" border="0" alt="">
</div>
<h2>DSL for modeling tools</h2>
<p>Creating a modeling tool with Sirius consists in using a dedicated DSL for defining model editors (diagrams, trees, tables, sequences) and properties views without writing any code.</p>
<p>This DSL is supported by a specific editor and productivity tools. </p>
</div>
<div class="section left">
<div class="image">
<img class="shadow" src="images/screenshots/features/runtime.png" width="400" border="0" alt="">
</div>
<h2>Interpreted mode</h2>
<p>The definition of a modeling tool defined with Sirius’ internal DSL is interpreted at runtime.</p>
<p>It allows the tool maker to rapidly evaluate the tool under construction and facilitates the deployment of a new version.</p>
</div>
<div class="section right">
<div class="image">
<img class="shadow" src="images/screenshots/features/java.png" width="400" border="0" alt="">
</div>
<h2>Java extensibility</h2>
<p>Complex or specific behaviours can be implemented by writing Java code.</p>
<p>It also allows to easily reuse external components providing additional features not supported natively by Sirius.</p>
</div>
</div> <!-- Fin body_wrapper -->
<h1 class="page_title">What's new in the latest release?</h1>
<p>Discover <a href="https://www.eclipse.org/sirius/whatsnew/whatsnew6-1.html">the latest major features</a> recently added to <b>Sirius Desktop</b>.</p>
<p>See also the <a href="https://www.eclipse.org/sirius/doc/Release_Notes.html">release notes</a> for the full details.</p>
<p>&nbsp;</p>
<h1 class="page_title">Detailed Features</h1>
<ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">Create a Modeling Tool</a></li>
<li><a href="#profile" data-toggle="tab">Use the Modeling Tool</a></li>
</ul>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="home">
<!-- First table -->
<h2><a id="interpreted-mode"></a>Interpreted Mode</h2>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">Create a graphical designer without writing
any code</th>
</tr>
</thead>
<tbody>
<tr>
<td>XML serialization format</td>
<td>The graphical designer is described in a configuration
which is serialized in an open XML format.</td>
</tr>
<tr>
<td>Graphical Designer Editor</td>
<td>The graphical designer is edited with a dedicated
graphical editor</td>
</tr>
<tr>
<td>Dynamic evaluation</td>
<td>The specification of the graphical designer (diagrams,
tables, matrices, ...) and their associated tools are specified
and interpreted at runtime. The designer can be tested directly
from its specification environment <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_dynamicevaluation.png" title="Dynamic Evaluation - You can check results directly in the same specification environment"><span class="features_icon"></span></a></div>.
</td>
</tr>
</tbody>
</table>
<!-- End first table -->
<!-- Second table -->
<h2><a id="customizable-viewpoints"></a>Fully Customizable Viewpoints</h2>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">A graphical designer provides viewpoints adapted to the user's role or activity.
Each viewpoint corresponds to a set of representations (diagrams, tables, matrices or trees) which can be completely customized.</th>
</tr>
</thead>
<tbody>
<tr>
<td>Customizable Diagrams</td>
<td>You can specify diagrams to graphically represent the model elements with your own graphical choices. <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_diagrams.png" title="Customizable Diagrams - Free graphical representations of model elements"><span class="features_icon"></span></a></div>
On each diagram you can choose the model elements to display and how to display them: the kind of mapping (node, container, port, edge),
the graphical style (square, ellipse, image, size, colors, font, etc...), conditional styles (depending on a condition), decorators, etc...
You can also define the tools available on this diagram: the palette content, optional layers (to show additional information on the same diagram),
filters (to hide elements depending on a condition), validation rules and associated quickfixes, element edition tools (drop, reconnect, delete, paste,
edit label, element selection wizard), model element creation tools, diagram creation tools, navigation tools, predefined automatic layouts, etc...</td>
</tr>
<tr>
<td>Customizable Tables</td>
<td>You can specify tables to represent model elements as lines, where each cell corresponds to a feature. Cells are editable and can be graphically customized (font, color, etc...). <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_tables.png" title="Customizable Tables - Lines display countries, cities, houses and persons. Columns display the number of persons (in a country, a city or a house), the father, the mother and the number of children of each person" /><span class="features_icon"></span></a></div></td>
</tr>
<tr>
<td>Customizable Matrix</td>
<td>You can specify matrices to represent model elements as lines and columns,
where each cell corresponds to a link between the objects in the line and the column. <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_matrix.png" title="Customizable Matrix - Lines display persons. Columns display cities. Intersections display persons location"><span class="features_icon"></span></a></div></td>
</tr>
<tr>
<td>Customizable Trees</td>
<td>You can specify a tree to represent model elements, where each node corresponds to a model
element with related objects as child nodes. <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_trees.png" title="Customizable Trees - Trees can represent model elements as nodes and related elements as child nodes"><span class="features_icon"></span></a></div></td>
</tr>
<tr>
<td>Customizable Sequence Diagrams</td>
<td>You can specify a sequence diagram <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_sequence.png" title="Customizable Sequence Diagrams - Sequences display lifelines, messages and combined fragments"><span class="features_icon"></span></a></div> to represent your model elements with lifelines,
messages and combined fragments. Inspired by UML, this kind of representation can be used with any DSL.</td>
</tr>
<tr>
<td>Customizable Properties Views</td>
<td>You can specify custom properties views to display and edit model elements features. <div class="popup-gallery icon_features"><a href="images/whatsnew4/properties.png" title="Customizable Properties Views"><span class="features_icon"></span></a></div></td>
</tr>
<tr>
<td>Customizable Colors Palette</td>
<td>You can define your own colors: Interpolated (a set of colors associated to a set of values) <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_colorsinterpolar.png" title="Customizable Colors Palette - Grouped Image - A set of colors associated to a set of values"><span class="features_icon"></span></a></div>,
User Fixed (RGB), Computed (from a model element) <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_colorscomputed.png" title="Customizable Colors Palette - Computed Colors - Computed Colors from a model element"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Java extensibility</td>
<td>As Sirius is based on EMF and GMF, you can use Java to implement complex services or reuse external components <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_javaextensibility.png" title="Java extensibility - Java code extension may be added to your design"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Viewpoint elements reuse</td>
<td>Many elements can be shared between representations. It allows you to reduce the amount of work by reusing existing viewpoints elements <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_elementsreuse.png" title="Viewpoint elements reuse - Navigation descriptions are reused by other diagrams"><span class="features_icon"></span></a></div>.</td>
</tr>
</tbody>
</table>
<!-- End second table -->
</div>
<div class="tab-pane fade" id="profile">
<!-- Third table -->
<h2><a id="modeling-workbench"></a>Complete Modeling Workbench</h2>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">A Graphical Designer created with Sirius offers a complete modeling workbench
to manage your models and their corresponding representations (diagrams, tables, matrices, trees and sequence diagrams).</th>
</tr>
</thead>
<tbody>
<tr>
<td>Viewpoints selection</td>
<td>When working on a model, you can select the viewpoints corresponding to your role or activity <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_selectviewpoints.png" title="Viewpoints Selection - Right-Click on your Modeling project in the Model Explorer view"><span class="features_icon"></span></a></div>.
It will restrict the available representations only to those needed for your working session <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_availableviewpoints.png" title="Available Representations - Select the viewpoint you need"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Navigation between representations</td>
<td>From any representation, you can click and create new representations or navigate to those already created <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_navigationbetweenrepresentations.png" title="Navigation Between Representations - You can navigate to the Genealogy Diagram of Marie"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>XMI import/export</td>
<td>Based on EMF, Sirius natively supports XMI format to import or export models.</td>
</tr>
<tr>
<td>Split XMI files (Control model elements)</td>
<td>The XMI file containing a model can be splitted into several files to facilitate collaborative work with source control systems.</td>
</tr>
</tbody>
</table>
<!-- End third table -->
<!-- Forth table -->
<h2><a id="diagram-edition"></a>Diagram Edition</h2>
<table class="table table-striped">
<thead>
<tr>
<th colspan="2">Each diagram defined with Sirius provides features to facilitate the visualization and the manipulation of the
displayed model elements.</th>
</tr>
</thead>
<tbody>
<tr>
<td>Zoom</td>
<td>It is possible to zoom on a diagram from 5% to 400% <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_zoom.png" title="Zoom - The zoom is also available with the Ctrl + scroll option"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Layers</td>
<td>A layer shows additional objects on the current diagram. It can also add its own section of tools in the Palette.
Several optional layers can be activated simultaneously. Each layer must be defined by the creator of the Graphical Designer <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_layers.png" title="Layers - You can display additional objects, labels, containers, tools, etc."><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Filters</td>
<td>A filter hides objects on the current diagram depending on their type and properties <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_filters.png" title="Filters - You can hide objects"><span class="features_icon"></span></a></div>.
Several filters can be activated simultaneously. Each filter must be defined by the creator of the Graphical Designer <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_filtersdefinition.png" title="Filters Definition - You must define filters at the diagram level"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Conditional styles</td>
<td>A conditional style changes the appearance of a model element according to specific conditions (property values, relations, ...).
It allows to highlight some model elements of interest.</td>
</tr>
<tr>
<td>Outline</td>
<td>The outline shows a complete vision of the active diagram.
It is a convenient way to navigate on the active diagram when it is too big to be seen entirely on the editor <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_outline.png" title="Outline - A complete vision of the active diagram"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Automatic layout</td>
<td>Sirius provides a default automatic layout to graphically reorganize the model elements <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_automaticarrange.png" title="Automatic Layout - Allows a graphical reorganization of model elements"><span class="features_icon"></span></a></div>.
The automatic layout strategy can be customized by the creator of the Graphical Designer.</td>
</tr>
<tr>
<td>Validation</td>
<td>Diagram can be validated <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_diagramvalidation.png" title="Diagram Validation - Right-Click on the diagram to get this option"><span class="features_icon"></span></a></div>
to detect modeling rules violations defined by the Creator of the Graphical Designer <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_validationrules.png" title="Validation Rules - You can define rules to detect Informations, Warnings or Errors"><span class="features_icon"></span></a></div>.
Each violated rule triggers either an Information, a Warning or an Error. They are shown both in the Problems view and
the diagram via decorators on model elements.</td>
</tr>
<tr>
<td>Quickfixes</td>
<td>Problems detected by a validation rule can be automatically corrected by quickfixes.
Quickfixes are defined by the creator of the Graphical Designer.</td>
</tr>
<tr>
<td>Undo/Redo</td>
<td>Undo/Redo is available to cancel last modifications and go back to a previous state <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_undoredo.png" title="Undo and Redo - You can Undo and Redo last modifications you do in your diagram"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Automatic initialization</td>
<td>When creating a new diagram, it is automatically populated with available model elements.
The query executed to retrieve model elements is defined by the creator of the Graphical Designer.</td>
</tr>
<tr>
<td>Rule and Grid</td>
<td>On a diagram, it is possible to display two rulers (vertical and horizontal) and a grid. When moving model elements, they can be snapped to the grid <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_gridrules.png" title="Rule and Grid - You can display rules and grid to facilitate the organization model elements"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Layouting mode</td>
<td>This optional mode allows you to protect the underlying model while reorganizing a diagram <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_layoutingmode.png" title="Layouting Mode - To protect the underlying model while reorganizing a diagram"><span class="features_icon"></span></a></div>.
It avoids mistakenly changing properties or links related to model elements present on the diagram.</td>
</tr>
<tr>
<td>Elements show/hide</td>
<td>Each model element visible on a diagram can be hidden on-demand <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_showhide.png" title="Show and Hide Elements - You can show or hide elements you want using this option"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Image export</td>
<td>Each diagram can be exported as an image (JPEG, PNG, SVG, BMP or GIF)<div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_imageexport.png" title="Image Export - Exports all diagrams as an image (JPEG, PNG, SVG, BMP or GIF)"><span class="features_icon"></span></a></div>.
It is also possible to export all diagrams at once <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_imagesexport.png" title="Image Export - Exports all diagrams as an image (JPEG, PNG, SVG, BMP or GIF)"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Elements alignments</td>
<td>To arrange model elements on a diagram, it is possible to automatically align them with each other (from left, top, right, bottom, center or middle) <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_elementsalignments.png" title="Elements Alignments - To arrange selected model elements on a diagram"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Elements pin</td>
<td>It is possible to fix the location of specific elements in a diagram. Fixed elements are not moved by the Arrange All action <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_elementspin.png" title="Elements Pin - To fix location of selected model elements on a diagram"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Synchronization mode</td>
<td>With "Synchronized" mode, the diagram is automatically populated with all the candidate elements (for example all the classes of a package).
However, with "Unsynchronized" mode, you choose the elements which are represented on the diagram.</td>
</tr>
<tr>
<td>Layout copy/paste</td>
<td>It is possible to duplicate layout of diagram elements to replicate their mutual organization from one diagram to another <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_copylayout.png" title="Copy Layout -To duplicate layout of diagram elements"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Custom style</td>
<td>Although the style of the diagram elements is defined by the creator of the Graphical Designer, it can be customized for each
diagram element (background color, border size, foreground color, label alignment, label size and format, etc) <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_customstyles.png" title="Custom Style - Styles of diagram elements can be defined by the graphical designer creator"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Resizing</td>
<td>Model elements can be resized manually <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_resizing.png" title="Resizing Elements - Manual resizing"><span class="features_icon"></span></a></div>
or automatically. Automatic resizing can be performed by calculating the most
appropriate size or by applying the size of another selected element <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_autoresizing.png" title="Resizing Elements - Automatic resizing"><span class="features_icon"></span></a></div>.</td>
</tr>
<tr>
<td>Notes and texts</td>
<td>To graphically document your diagram, you can add annotations (notes or texts). A note can be attached to a model element <div class="popup-gallery icon_features"><a href="images/screenshots/features/sirius_feat_dynamicevaluation.png" title="Dynamic Evaluation - You can check results directly in the same specification environment"><span class="features_icon"></span></a></div>.</td>
</tr>
</tbody>
</table> <!-- End forth table -->
</div>
</div> <!-- End myTabContent -->
</div> <!-- Fin body_wrapper -->
<div class="clear"></div>
<ng-include src="'angular/blocks/footer.html'"></ng-include>
<ng-include src="'angular/blocks/call2action.html'"></ng-include>
</body>
</html>