<!DOCTYPE html>
<html class="no-js">
    <head>
        <!-- Basic Page Needs
        ================================================== -->
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link rel="icon" type="image/png" href="images/favicon.ico">
        <title>Capella MBSE Tool - Features</title>
        <meta name="description" content="Install Capella and start discovering the tool by opening sample projects.">
        <meta name="keywords" content="">
        <meta name="author" content="">
        <!-- Mobile Specific Metas
        ================================================== -->
        <meta name="format-detection" content="telephone=no">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <!-- Template CSS Files
        ================================================== -->
        <!-- Twitter Bootstrs CSS -->
        <link rel="stylesheet" href="css/bootstrap.min.css">
        <!-- animate css -->
        <link rel="stylesheet" href="css/animate.css">
        <link rel="stylesheet" href="css/jquery.fancybox.css">
        <!-- template main css file -->
        <link rel="stylesheet" href="css/main.css">
        <!-- responsive css -->
        <link rel="stylesheet" href="css/responsive.css">
        <link rel="stylesheet" href="css/latofonts.css">

        <script src="https://use.fontawesome.com/b51f77a16a.js"></script>

        <!-- Cookie content -->
        <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>

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

        <!-- Template Javascript Files
        ================================================== -->
		<!-- Angular -->
		<base href="/capella/">
		<script src="js/angular-1.7.8.min.js"></script>
		<script src="angular/capella.js"></script>

        <!-- modernizr js -->
        <script src="js/vendor/modernizr-2.6.2.min.js"></script>
        <!-- jquery -->
        <script src="js/jquery-3.4.1.min.js"></script>
        <!-- bootstrap js -->
        <script src="js/bootstrap.min.js"></script>
        <!-- wow js -->
        <script src="js/wow.min.js"></script>
        <script src="js/jquery.fancybox.js"></script>
        <!-- template main js -->
        <script src="js/main.js"></script>
    </head>
    <body ng-app="capella" data-deferred-cloak>
    	<!--
        ==================================================
        Header Section
        ================================================== -->
    	<ng-include src="'angular/blocks/header.html'"></ng-include>
        <!--
        ==================================================
        Intro Section
        ================================================== -->
        <section class="hero-area getstarted">
            <div class="container">
                <div class="row">
                    <div class="col-md-12 text-center">
                        <div class="block wow fadeInUp" data-wow-delay=".3s">
                            <section class="cd-intro">
                                <h1 class="wow fadeInUp animated" data-wow-delay=".4s" >
                                	Get Started
                                </h1>
                            </section> <!-- cd-intro -->
                            <h2 class="wow fadeInUp animated" data-wow-delay=".6s" >
								How-to install and start learning Eclipse Capella&trade;</h2>
                        </div>
                    </div>
                </div>
            </div>
        </section><!--/#intro_banner-->

        <!--
        ==================================================
        Main Content
        ================================================== -->
        <section id="benefits" class="">
            <div class="container">
            		<div class="row">
	                	<h3>Installation</h3>
                    <p>Get Capella on the <a href="/capella/download.html"><b>download page</b></a>.</p>
                    <p>Then, please read through <a href="https://github.com/eclipse/capella/blob/master/doc/plugins/org.polarsys.capella.ui.doc/html/Installation Guide/How to install Capella and Addons.mediawiki#table-of-contents" target="_blank"><b>this guide</b></a> that provides instructions for installing Capella.</p>

					<h3>Tutorial</h3>
					<p>This project is a tutorial that follows the steps to design a Toy Catapult to enable a parent and child to have fun together.</p>
					<p>This example is adapted from the book Jackson, P. L. (2009). Getting design right: a systems approach. CRC Press</p>
					<p><a href="https://esd.sutd.edu.sg/40014-capella-tutorial/" target="_blank"><img src="images/thumbs/resources/thumb_toy-catapult.jpg" alt="Tutorial - Toy Catapult Project"></a></p>
					<p><a href="https://esd.sutd.edu.sg/40014-capella-tutorial/" target="_blank">Instructions to follow the tutorial<i class="pl-2 fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
					<p><a href="https://www.youtube.com/watch?v=K4eU8nj1nok&feature=youtu.be&t=189" target="_blank">Video<i class="pl-2 fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>

					<h3>Teaching resources</h3>
					<p>Are you teaching Systems Engineering or MBSE? Benefit from material that can help you to build your courses.</p>
					<p><a href="academic_material.html">Academic material<i class="pl-2 fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>

					<h3>Sample models</h3>
					<p>Sample examples of Capella projects are available to familiarize yourself with the concepts manipulated in Capella, the different engineering phases of Arcadia, and the good practices on how to model your system of interest through efficient means and ergonomic facilities.
					<p><u><b>Note</b></u>: IFE is embedded within Capella distribution</p>

					<div id="getstarted" class="accordion dropdown_content">
						<div class="accordion-group">
							<div class="accordion-heading">
								<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#ife" aria-expanded="false">
									<h3>In-Flight Entertainment System (IFE)</h3><span class="fa fa-caret-down txt_yellow" aria-hidden="true">&nbsp;</span>
								</a>
							</div>
							<div id="ife" class="accordion-body collapse" style="height: 0px;" aria-expanded="false">
								<div class="accordion-inner">
									<p>The Capella IFE sample model is an overly simplified vision of
		                            what a real in-flight entertainment system is. It is partial and
		                            mainly designed for educational purposes.</p>
		                            <p>For any question about the model (tool- or method-related), please post a
		                            question <a href="//polarsys.org/forums/index.php/i/4/" target="_blank"><b>in the forum</b></a>.</p>
		                            <p>The model is embedded within Capella distribution in the 'samples' folder. It is also available for download
		                            <a href="/capella/download.html"><b>here</b></a>.</p>
		                            <p><a href="https://download.eclipse.org/capella/samples/IFE/Capella_IFE_Sample_Model_1.0_Quick_Reading_Guide.pdf" target="_blank"><b><u>Quick reading guidelines</u></b></a>: 2 pages giving a reading path through
		                            diagrams
		                            <p><a href="https://download.eclipse.org/capella/samples/IFE/Capella_IFE_Sample_Model_1.0_Quick_Reading_Guide.pdf" target="_blank"><img src="images/start/quick_read.png" width="50%" alt="Quick Reading Guide"></a>
		                            <p><a href="https://download.eclipse.org/capella/samples/IFE/Capella_IFE_Sample_Model_1.0_Highlights.pdf" target="_blank"><b><u>Highlights</u></b></a>: A set of 75 slides with tool and method tips and tricks </p>
		                            <p><a href="https://download.eclipse.org/capella/samples/IFE/Capella_IFE_Sample_Model_1.0_Highlights.pdf" target="_blank"><img src="images/start/highlights.png" width="50%" alt="Highlights"></a></p>
								</div>
							</div>
						</div>

						<div class="accordion-group">
							<div class="accordion-heading">
								<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#alarm_clock" aria-expanded="false">
									<h3>Alarm Clock</h3><span class="fa fa-caret-down txt_yellow" aria-hidden="true">&nbsp;</span>
								</a>
							</div>
							<div id="alarm_clock" class="accordion-body collapse" style="height: 0px;" aria-expanded="false">
								<div class="accordion-inner">
									<p>The Alarm Clock sample model is a set of slides illustrating
		                            precisely, step-by-step, how to use Capella to build a model. At
		                            this stage, it describes Operational Anlaysis, System Need
		                            Analysis and Logical Architecture.</p>
		                            <p>For any tool-related question about the model, please use the Capella <a href="//polarsys.org/forums/index.php/i/4/" target="_blank"><b>Forum</b></a>
		                            or consult the <a href="http://www.prfc.fr/" target="_blank"><b>PRFC website</b></a>.</p>

		                            <p>The model is available for download <a href="/capella/download.html"><b>here</b></a>. </p>

		                            <p><a href="https://download.eclipse.org/capella/samples/ClockRadio/ClockRadioExample0216.pdf" target="_blank"><b><u>Highlights:</u></b></a>
		                            A set of 45 slides with tool and method tips and tricks </p>
		                            <p><a href="https://download.eclipse.org/capella/samples/ClockRadio/ClockRadioExample0216.pdf" target="_blank"><img src="images/start/prfc.png" width="50%" alt="Alarm Clock OA SA LA"></a></p> <br>

		                            <p><u><b>Note:</b></u><br>French translations of the Alarm Clock sample <a href="https://fr.slideshare.net/rockytal/exemple-radiorveil-en-capella-arcadia" target="_blank">documentation</a> and associated Capella <a href="/capella/download.html">model</a> are also available.</p>
								</div>
							</div>
						</div>

						<div class="accordion-group">
							<div class="accordion-heading">
								<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#level_crossing" aria-expanded="false">
									<h3>Level-Crossing Control System</h3><span class="fa fa-caret-down txt_yellow" aria-hidden="true">&nbsp;</span>
								</a>
							</div>
							<div id="level_crossing" class="accordion-body collapse" style="height: 0px;" aria-expanded="false">
								<div class="accordion-inner">
									<p>This example describes a level-crossing traffic control system.</p>
		                         	<p><img src="images/screenshots/level-crossing-control-system.png" alt="Level-Crossing Control System"></p>
		                         	<p><a href="https://wiki.polarsys.org/Capella/Samples/LCTC" target="_blank">Video and presentations<i class="pl-2 fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
								</div>
							</div>
						</div>
					</div>
					<h3>Extensions and Viewpoints</h3>
					<p>Some <a href="/capella/addons.html">add-ons</a> to Capella can be installed to provide additional features (team work, documentation generation, etc).</p>
					<p>The wiki has also a dedicated section for the <a href="https://polarsys.org/wiki/Capella/Addons" target="_blank">extensions</a> and <a href="https://polarsys.org/wiki/Capella/Viewpoints" target="_blank">viewpoints</a> for Capella and their <a href="https://github.com/eclipse/capella/blob/master/doc/plugins/org.polarsys.capella.ui.doc/html/Installation%20Guide/How%20to%20install%20Capella%20and%20Addons.mediawiki#Configuration_and_Extensibility" target="_blank">installation</a>.</p>
					<h3>Support</h3>
					<p>If you need help about the Capella workbench, you can post questions on the <a href="https://forum.mbse-capella.org/" target="_blank">forum</a> or contact <a href="/capella/services.html" target="_blank">professional experts</a>.</p>

				</div>
			</div>
        </section> <!-- #how -->

        <div id="back-to-top" data-spy="affix" data-offset-top="100"
			class="back-to-top hidden-xs hidden-sm affix-top">
			<button class="btn btn-default" title="Back to Top">
				<i class="fa fa-caret-up"></i>
			</button>
		</div>
		<script type="text/javascript">
		// Back to top
			jQuery('#back-to-top').on('click', function() {
				jQuery("html, body").animate({
					scrollTop : 0
				}, 500);
				return false;
			});
		</script>

        <!--
        ==================================================
        Call To Action Section Start
        ================================================== -->
		<ng-include src="'angular/blocks/call2action.html'"></ng-include>

        <!--
        ==================================================
        Footer Section
        ================================================== -->
        <ng-include src="'angular/blocks/footer.html'"></ng-include>
        <script async src="js/googleAnalytics.js" ></script>
    </body>
</html>