<!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/functions.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 - The easiest way to get your own Modeling Tool</title>
	<link type="text/css" rel="stylesheet" href="css/bootstrap.min.css" />
	<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>

<section class="highlight_banner bg_light_gray centered">
	<article class="row"> 
		<div class="col-md-4">
			<a href="overview.html"><img src="images/screenshots/home/screenshot_arduino_home.png" /></a>
		</div>
		<div class="col-md-4">
			<a href="overview.html"><img src="images/screenshots/home/screenshot_togaf.png" /></a>
		</div>
		<div class="col-md-4">
			<a href="overview.html"><img src="images/screenshots/home/screenshot_capella_home.png" /></a>
		</div>
		
		<div class="clear"></div>
		<br />
	
		<h1>The easiest way to get your own Modeling Tool</h1>
		<p>Eclipse Sirius dramatically reduces the time for creating domain-specific modeling workbenches.</p>
		<br />
		<p><a class="btn" href="overview.html">Read More</a></p>
		
	</article>
</section>
<div class="clear"></div>

<section class="parallax back1 txt_white">
	<article class="row"> 
		<header class="centered">
			<a id="siriuscon"></a>
			<p class="logo_siriuscon"><img src="images/logos/logo_siriuscon_live_2018_white.png" width="380"/></p>
			<br>
			<h2 class="uppercase txt_white">Thank you!</h2>
			
			<div class="col-md-12">
				<p>SiriusCon 2018 was awesome! Thank you all for your energy!</p>
				<p>To relive the event, check the slides or see the records!</p>
	           
	            <br />
	        	<p><a class="btn" href="https://www.siriuscon.org/#relive" target="_blank">Relive the event</a></p>
	        </div>
	        
		</header>
	</article>
</section>

<div class="clear"></div>

<section>
	<article class="row"> 
		<header class="centered">
			<a id="why"></a>
			<h2 class="uppercase">Why Sirius?</h2>
			
			<div class="col-md-6">
	            <p><img src="images/icons/home/icon_reduce_learning_curve.png" /></p>
	            <div class="descr">
		            <h3>Reduce the Tooling Learning Curve</h3>
		            <p>By using a modeling tool which natively supports their own vocabulary, users don't have to learn concepts which are external to their business domain. 
		            They just have to learn the views provided by the tool and how to navigate between them. With Sirius, they can rapidly master a new tool and start 
		            industrializing their modeling activities.
		            </p>
	            </div>
	        </div>
	        
	        <div class="col-md-6">
	            <p><img src="images/icons/home/icon_decrease_cost.png" /></p>
	            <h3>Decrease the Cost of your Tools</h3>
	            <p>Don't pay for overkill tools providing unnecessary functionalities! Sirius is fully Open Source, but most of all, as it is completely customizable, 
	            a modeling workbench created with Sirius is natively based on your own business domain and provides the representations and features which really correspond 
	            to your different user's needs.
	            </p>
	        </div>
			
		</header>
	</article>
</section>

<div class="clear"></div>

<section class="bg_light_gray">
	<article class="row"> 
		<a id="manage_complexity"></a>
		
		<div class="col-md-6">
		<h2 class="uppercase">Complexity Management</h2>
			<p>Managing complexity requires breaking down a problem into simpler parts. With its multi-viewpoints approach, Sirius allows the user to easily manipulate 
			sub-parts of a model in order to focus on what really matters. In addition, Sirius provides conditional styles, layers and filters to automatically simplify 
			the graphical representations and highlight the elements of interest.</p>
		</div>
		
		<div class="col-md-6">
			<p><a class="popup-youtube" href="https://www.youtube.com/watch?v=rUqSaxu6SqM"><img src="images/screenshots/home/manage_complexity_video.png" /></a></p>
		</div>
	
	</article>
</section>


<div class="clear"></div>

<section class="centered">
	<article class="row"> 
		<a id="sirius_rocks"></a>
		<h2 class="uppercase">Sirius Rocks</h2>	
	
		<div class="col-md-4">
			<p><a href="gallery.html"><img src="images/icons/home/icon_visual.png" /></a></p>
			<h3>Visual</h3>
			<p>Diagrams, tables and trees</p>
		</div>
		<div class="col-md-4">
			<p><a href="features.html"><img src="images/icons/home/icon_declarative.png" /></a></p>
			<h3>Declarative</h3>
			<p>No code generation</p>
		</div>
		<div class="col-md-4">
			<p><a href="getstarted.html"><img src="images/icons/home/icon_easy.png" /></a></p>
			<h3>Easy</h3>
			<p>Your modeling workbench in hours</p>
		</div>
	</article>
</section>


<section class="bg_light_gray centered">
	<article class="row"> 
		<a id="support_sirius"></a>
		<h2 class="uppercase">Need Support?</h2>	
	
		<div class="col-md-4">
			<p><a href="http://www.eclipse.org/sirius/doc/"><img src="images/icons/home/icon_doc.png" /></a></p>
			<h3>Documentation</h3>
			<p>Learn how to use Sirius, thanks to online complete user guides and reference manuals</p>
		</div>
		<div class="col-md-4">
			<p><a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=262"><img src="images/icons/home/icon_forum.png" /></a></p>
			<h3>Forum</h3>
			<p>Find relevant posts/answers. No solution yet to your concern? Come and ask your question</p>
		</div>
		<div class="col-md-4">
			<p><a href="https://www.obeodesigner.com/en/services"><img src="images/icons/home/icon_support.png" /></a></p>
			<h3>Professional Support</h3>
			<p>Obeo, co-leader of Sirius, provides training, expertise, custom development and support plans</p>
		</div>
	</article>
</section>


<section class="bg_lightest_gray centered">
	<article class="row"> 
		<a id="sponsors"></a>
		<h2 class="uppercase">Sponsors</h2>	
			<p><a href="https://www.obeo.fr/en/" target="_blank"><img src="images/logos/logo_obeo_gray.png" /></a>&nbsp;
			<a href="https://www.thalesgroup.com/en" target="_blank"><img src="images/logos/logo_thales_gray.png" /></a></p>

	</article>
</section>

<div class="clear"></div>

<section class="centered">
	<article class="row"> 
		<a id="twitter"></a>
		<h2 class="uppercase">Tweets</h2>	
		
		<p><img src="images/icons/home/icon_twitter.png" /></p>
		
		<div id="tweets" class="centered">
		<script>
        		if (document.cookie.valueOf('eclipse_cookieconsent_status').search("allow") > -1) {
        			var script = document.createElement('script');
        		    script.src = "//platform.twitter.com/widgets.js";
        		    script.type = "text/javascript";
        		    script['async']="true";
        		    script.charset="utf-8";
        		    document.getElementById("tweets").appendChild(script);
        		    script.onload = function () {
        		    	twttr.widgets.createTimeline(
 		    			  {
 		    			    sourceType: "profile",
 		    			    screenName: "EclipseSirius"
 		    			  },
 		    			  document.getElementById("tweets")
     		    		);
        		    };
        		} else {
        			var p = document.createElement('p');
        			p.innerHTML="Please, allow Cookies & Eclipse Foundation Privacy Policy below to be able to load the Twitter widget.";
        			document.getElementById("tweets").appendChild(p);
        		}
		</script>
		</div>		</article>
</section>
<div class="clear"></div>

<ng-include src="'angular/blocks/footer.html'"></ng-include>
<ng-include src="'angular/blocks/call2action.html'"></ng-include>

</body>
</html>

