<!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>Model Based Systems Engineering | Capella MBSE Tool</title>
        <meta name="description" content="Capella is an Open Source MBSE tool that implements the Arcadia method. It is a comprehensive, extensible and field-proven MBSE solution.">
        <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://kit.fontawesome.com/16cf99803e.js" crossorigin="anonymous"></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 home">
            <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" data-wow-delay=".4s" >
                                    Open Source Solution for<br>Model-Based Systems Engineering<br>
                                </h1>
                            </section> <!-- cd-intro -->
                            <h2 class="wow fadeInUp" data-wow-delay=".6s" >
                                Eclipse Capella is a comprehensive, extensible and field-proven MBSE tool and method<br>to successfully design systems architecture
                            </h2>
                        </div>
                    </div>
                </div>
            </div>
        </section><!--/#intro_banner-->
        <!--
        ==================================================
        How can Capella help you?
        ================================================== -->
        <section id="benefits" class="text-center">
            <div class="container">
                <h2 class="title wow fadeInDown" data-wow-delay=".3s">How can Capella help you?</h2>
                <div class="row">
                    <h3 class="wow fadeInDown" data-wow-delay=".5s">Formalize specification and master architectural design</h3><br>
                        <p class="wow fadeInDown text-left" style="display: inline-block;" data-wow-delay=".7s">
                            <i class="fa fa-check-square-o" aria-hidden="true"></i>
                            Understand the customer need<br>
                            <i class="fa fa-check-square-o" aria-hidden="true"></i>
                            Define and share the solution<br>
                            <i class="fa fa-check-square-o" aria-hidden="true"></i>
                            Ensure engineering-wide collaboration<br>
                            <i class="fa fa-check-square-o" aria-hidden="true"></i>
                            Early evaluate and justify architectural choices<br>
                               <i class="fa fa-check-square-o" aria-hidden="true"></i>
                            Prepare and master V&V<br>
                           </p>
                        <div class="col-md-12 text-center">
                            <p><a class="fancybox" href="https://www.youtube.com/embed/WSzlN4YT3gM" data-fancybox-type="iframe"><img class="responsive" src="images/home/capella_screenshot.png" alt="Capella Tool Short Demo" /></a></p><br>
                            <a class="wow fadeInUp btn btn-default" data-wow-delay=".6s" href="getstarted.html">Get Started</a>
                        </div>
                        <div class="clear"></div>
                </div>
            </div>
        </section> <!-- #how -->
        <!--
        ==================================================
        Key Points - Features
        ================================================== -->
        <section id="key_points" class="bg_lightest_grey text-center">
            <div class="container">
                  <h2 class="title wow fadeInDown" data-wow-delay=".3s">A Comprehensive MBSE Solution</h2>
                <div class="row">
                    <h3 class="wow fadeInDown" data-wow-delay=".5s">Capella provides methodological guidance, intuitive model editing,<br>and viewing capabilities for Systems, Software and Hardware Architects
                    </h3><br>
                    <div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="300ms">
                            <p><img src="images/icons/icon_gear.png" alt="this is a title" ></p>
                            <div>
                                <h4>Model-Based Systems Engineering Method</h4>
                                <p>Capella relies on Arcadia a field-proven model-based methodology that covers each engineering phase</p>
                                <p><a href="arcadia.html">Arcadia Method <i class="fa fa-arrow-circle-right" aria-hidden="true"></i>
                                </a></p>
                            </div>
                    </div>
                    <div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="300ms">
                            <p><img src="images/icons/icon_custom.png" alt="" ></p>
                            <div>
                                <h4>Customizable, Open and Scalable MBSE Tool</h4>
                                <p>Your process, your viewpoints: Capella can be adaptable to your own engineering approach and integrated with your tools</p>
                                <p><a href="features.html">Capella Features <i class="fa fa-arrow-circle-right" aria-hidden="true"></i>
                                </a></p>
                            </div>
                    </div>
                    <div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="300ms">
                            <p><img src="images/icons/icon_field_proven.png" alt="" ></p>
                            <div>
                                <h4>Successfully Deployed Solution</h4>
                                <p>Capella is already used on concrete projects in numerous industrial sectors (aerospace, energy, transportation…)</p>
                                <p><a href="resources.html#case-studies">Case-Studies <i class="fa fa-arrow-circle-right" aria-hidden="true"></i>
                                </a></p>
                            </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12 text-center">
                        <p><a class="fancybox" href="https://www.youtube.com/embed/BtzhlZUaWA8" data-fancybox-type="iframe"><img src="images/home/video_the_spirit_of_arcadia_capella.png" alt="" /></a></p>
                    </div>
                </div>
            </div>
        </section> <!-- #key_points -->
        <!--
        ==================================================
        Upcoming Events
        ================================================== -->
    <section id="event" class="hero-area event">
        <div class="container block">
            <div class="row">
                <div class="col-md-12 text-center txt_white wow fadeInDown" data-wow-delay=".3s">
                    <h2 class="title" >Upcoming Events</h2>
                    <p>Meet the Capella experts and benefit from their experience. </p>
                </div>
            </div>
            <div class="row wow" >
                <div class="col-md-6 fadeInUp wow fadeInLeft text-center" data-wow-duration="500ms" data-wow-delay=".5s">
                    <h3 class="txt_white">INCOSE India - AeSI Design Division</h3>
                    <h2 class=" txt_white">MBSE Summit 2021</h2>
                    <h4 class="txt_white">April 15th - April 16th,  2021 | 4:30pm- 8:30pm IST</h4>
					<p><a href="https://sites.google.com/view/mbse-lwg-india/incose-india-aesi-mbse-summit"
							class="btn btn-default btn-contact wow fadeInDown" data-wow-delay=".7s"
							data-wow-duration="500ms" target="_blank">Learn more</a></p>
				</div>
				<div class="col-sm-6 fadeInUp wow fadeInLeft text-center" data-wow-duration="500ms" data-wow-delay=".5s">
                    <h3 class="txt_white">TNO-ESI Symposium</h3>
                    <h2 class=" txt_white">MBSE applied</h2>
                    <h4 class="txt_white">April 16th,  2021 | 2:30pm -5:30pm CET</h4>
					<p><a href="https://esi.nl/events/2021/model-based-systems-engineering-applied"
							class="btn btn-default btn-contact wow fadeInDown" data-wow-delay=".7s"
							data-wow-duration="500ms" target="_blank">Learn more</a></p>
				</div>
            </div>
        </div>
</section><!--/#event-->
        <!--
        ==================================================
        Books
        ================================================== -->
		<ng-include src="'angular/blocks/books.html'"></ng-include>
		<!-- #books -->
        <!--
        ==================================================
        Case Studies
        ==================================================
        -->
        <section id="case-studies" class="text-center bg_lightest_grey">
            <div class="container">
                 <h2 class="title wow fadeInDown" data-wow-delay=".3s">Case-Studies</h2>
                   <div class="row">
                       <div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms">
                         <p><a href="resources/pdf/Case_Study_Rolls_Royce.pdf" target='_blank'><img src="images/thumbs/thumb_casestudy_rollsroyce.png" alt="Rolls Royce"></a></p>
                            <div>
                                <h6 class="text-uppercase txt_lightest_grey txt_weight_300">Aviation</h6>
                                <h4>Rolls Royce</h4>
                                <p>Arcadia and Capella for a<br>large complex mechanical system</p>
                                    <p><a class="btn btn-default wow fadeInUp" data-wow-delay=".3s" href="resources/pdf/Case_Study_Rolls_Royce.pdf" target='_blank'>Read</a></p>
                                    <p><a class="wow fadeInUp" data-wow-delay=".4s" href='resources/pdf/Case_Study_Rolls_Royce_ZH.pdf' target='_blank'>Chinese Version <i class='fa fa-arrow-circle-right' aria-hidden='true'></i></a></p>
                            </div>
                    	  </div>
                      <div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms" >
                         <p><a href="resources/pdf/Case_Study_ArianeGroup.pdf" target='_blank'><img src="images/thumbs/thumb_casestudy_arianegroup.png" alt="Ariane Group"></a></p>
                            <div>
                                <h6 class="text-uppercase txt_lightest_grey txt_weight_300">Aerospace</h6>
                                <h4>ArianeGroup</h4>
                                <p>Model-Based Systems Engineering<br>must become a team sport!!</p>
                                    <p><a class="btn btn-default wow fadeInUp" data-wow-delay=".4s" href="resources/pdf/Case_Study_ArianeGroup.pdf" target='_blank'>Read</a></p>
                                 <p><a class="wow fadeInUp" data-wow-delay=".5s" href='resources/pdf/Case_Study_ArianeGroup_ZH.pdf' target='_blank'>Chinese Version <i class='fa fa-arrow-circle-right' aria-hidden='true'></i></a></p>
                            </div>
                    	</div>
                    	<div class="col-sm-4 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms" >
                         <p><a href="resources/pdf/Case_Study_AutonomousTrain.pdf" target='_blank'><img src="images/thumbs/thumb_casestudy_autonomoustrain.png" alt="Railway" width="337"></a></p>
                            <div>
                                <h6 class="text-uppercase txt_lightest_grey txt_weight_300">Railway</h6>
                                <h4>Autonomous Train Project</h4>
                                <p>Collaborative work<br/>in a consortium with Capella</p>
                                    <p><a class="btn btn-default wow fadeInUp" data-wow-delay=".4s" href="resources/pdf/Case_Study_AutonomousTrain.pdf" target='_blank'>Read</a></p>
                                    <p><a class="wow fadeInUp" data-wow-delay=".5s" href='resources/pdf/Case_Study_AutonomousTrain_ZH.pdf' target='_blank'>Chinese Version <i class='fa fa-arrow-circle-right' aria-hidden='true'></i></a></p>
                            </div>
                    	</div>
                </div>
                <p>&nbsp;</p><p>&nbsp;</p>
                <div>
                       <div class="col-sm-6 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms">
                            <p><a href="resources/pdf/Case_Study_Framatome.pdf" target='_blank'><img src="images/thumbs/thumb_casestudy_framatome.png" alt="Framatome" ></a>
                            </p>
                            <div>
                                <h6 class="text-uppercase txt_lightest_grey txt_weight_300">Energy</h6><h4>Framatome</h4>
                                <p>Progressive deployment of MBSE methods<br>in French nuclear industry</p>
                                    <p><a class="btn btn-default wow fadeInUp" data-wow-delay=".5s" href="resources/pdf/Case_Study_Framatome.pdf" target='_blank'>Read</a></p>
                                 <p><a class="wow fadeInUp" data-wow-delay=".6s" href='resources/pdf/Case_Study_Framatome_ZH.pdf' target='_blank'>Chinese Version <i class='fa fa-arrow-circle-right' aria-hidden='true'></i></a></p>
                            </div>
                    </div>
                    <div class="col-sm-6 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms">
                            <p><a href="resources/pdf/Case_Study_Continental.pdf" target='_blank'><img src="images/thumbs/thumb_casestudy_continental.png" alt="Continental"></a>
                            </p>
                            <div>
                                <h6 class="text-uppercase txt_lightest_grey txt_weight_300">Automotive</h6>
                                <h4>Continental Automotive</h4>
                                <p>Driving intelligent transportation systems<br>with Capella</p>
                                    <p><a class="btn btn-default wow fadeInUp" data-wow-delay=".6s" href="resources/pdf/Case_Study_Continental.pdf" target='_blank'>Read</a></p>
                                 <p><a class="wow fadeInUp" data-wow-delay=".7s" href='resources/pdf/Case_Study_Continental_ZH.pdf' target='_blank'>Chinese Version <i class='fa fa-arrow-circle-right' aria-hidden='true'></i></a></p>
                            </div>
                    </div>
                </div>
             </div>
        </section>
        <!--
        ==================================================
        Videos
        ================================================== -->
        <section id="videos" class="text-center">
            <div class="container">
                <div class="row linked_title ">
                      <h2 class="title wow fadeInDown" data-wow-delay=".3s">Capella in action</h2>
                    <div class="col-sm-4 col-xs-12 wow fadeInLeft video_thumbnail" data-wow-duration="500ms" data-wow-delay="0ms">
                            <p>
                                <a href="https://youtu.be/OGpHMR_j3AM"><img src="images/screenshots/embedded_methodological_guidance.png" alt="Embedded methodological guidance" width="100%"></a>
                            </p>
                            <div>
                                <h4><a href="https://youtu.be/OGpHMR_j3AM" target="_blank">Embedded methodological guidance</a></h4>
                            </div>
                    </div>
                    <div class="col-sm-4 col-xs-12 wow fadeInLeft video_thumbnail" data-wow-duration="500ms" data-wow-delay="0ms">
                            <p>
                                <a href="https://youtu.be/WtwAzftHd4A" target="_blank"><img src="images/screenshots/manage_model_complexity.png" alt="Manage model complexity" width="100%"></a>
                            </p>
                            <div>
                                <h4><a href="https://youtu.be/WtwAzftHd4A" target="_blank">Manage model complexity</a></h4>
                            </div>
                    </div>
                    <div class="col-sm-4 col-xs-12 wow fadeInLeft video_thumbnail" data-wow-duration="500ms" data-wow-delay="0ms">
                        <p>
                                <a href="https://youtu.be/cT43CmZM2go" target="_blank"><img src="images/screenshots/multiviewpoint_analysis.png" alt="Multi-viewpoint trade-off analysis" width="100%"></a>
                            </p>
                            <div>
                                <h4><a href="https://youtu.be/cT43CmZM2go" target="_blank">Multi-viewpoint trade-off analysis</a></h4>
                            </div>
                    </div>
                </div>
                 <div class="col-md-12">
                     <p><a class="wow fadeInUp btn btn-default" data-wow-delay=".6s" href="https://www.youtube.com/EclipseCapella" target="_blank">View all</a></p>
                 </div>
            </div>
        </section> <!-- #videos -->
        <!--
        ==================================================
        Secure your industrial Capella deployment
        ================================================== -->
        <section id="services" class="bg_lightest_grey text-center">
            <div class="container">
                <div class="section-heading">
                    <h2 class="title wow fadeInDown" data-wow-delay=".3s">Secure your industrial Capella deployment</h2>
                </div>
                <div class="row">
                    <div class="col-sm-6 col-xs-12wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="0ms">
                        <p><img src="images/icons/icon_safeguard.png" ></p>
                            <div>
                                <h4>Safeguard Your Deployment</h4>
                                <p>Benefit from Thales cutting-edge technical & expertise</p>
                                <p><a href="services.html">Training, Coaching & Maintenance <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                            </div>
                    </div>
                    <div class="col-sm-6 col-xs-12 wow fadeInLeft" data-wow-duration="500ms" data-wow-delay="300ms">
                       <p><img src="images/icons/icon_adapt.png" alt="" ></p>
                       <div>
                           <h4>Adapt to Your Specifics</h4>
                           <p>Obeo helps you extend Capella to fit your own specific needs</p>
                           <p><a href="https://www.obeosoft.com/en/capella-professional-offer#integration">Integration & Customization <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                       </div>
                    </div>
                </div>
            </div>
        </section> <!-- #services -->
        <!--
        ==================================================
        Extensions Section
        ================================================== -->
        <section id="extensions">
            <div class="container">
                <div class="row">
                    <div class="col-md-12 text-center">
                        <div class="block wow fadeInUp" data-wow-delay=".2s">
                            <h2 class="title wow fadeInUp cd-headline slide" data-wow-delay=".2s" >
                                Extend the power of Capella<br>with the latest plugins and add-ons<br>
                            </h2>
                            <p class="wow fadeInUp" data-wow-delay=".6s" >
                                Beyond Capella, discover the extensions provided by the ecosystem
                                <br>Collaborate with your Team | Break Your Systems Down | Generate Documentation
                            </p><br>
                            <p><a class="wow fadeInUp" data-wow-delay=".9s" href="addons.html" data-section="#" >Discover All <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>
                        </div>
                    </div>
                </div>
            </div>
        </section><!--/#extensions-->
        <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>