<!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 - What is MBSE</title>
        <meta name="description" content="A Model-Based Systems Engineering (MBSE) approach consists in using a formal digital language to specify, design, analyze and verify a system">
        <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 services">
            <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 cd-headline" data-wow-delay=".4s" >
                                	What is MBSE <br />(Model-Based Systems Engineering)?
                                </h1>
                            </section> <!-- cd-intro -->
                            <h2 class="wow fadeInUp animated" data-wow-delay=".6s" >
                                A Model-Based Systems Engineering (MBSE) approach<br /> consists in using a formal digital language<br /> to specify, design, analyze and verify a system
                            </h2>
                        </div>
                    </div>
                </div>
            </div>
        </section><!--/#intro_banner-->
        
        <!--
        ==================================================
        Secure your industrial Capella deployment
        ================================================== -->
        <section id="mbse">
            <div class="container">
            		<div class="row">
					<h3>Maintaining the consistency of the whole product definition</h3>
					<p>Across all industry domains (energy, aerospace, transportation, healthcare), customers are demanding new products that are more and more complex and interconnected. These new products must be intelligent, safer, eco-friendly, connected, and remain affordable.</p>
					<p>It implies to design and assemble numerous components and sub-components assigned to many experts, in a variety of domains (software, mechanical, electrical, electronics, etc). All these components must fit together properly and collectively realize the expected product’s functions, and finally meet the customer’s requirements.</p>
					<p>But, in a classical document-driven approach the system is described by a stack of  heterogeneous documents, mainly based on office-based formats. This poses the problem of maintaining the consistency of the whole product definition.</p>
					<p>To cope with this issue the architects of a product have to move from a document-driven approach to a coherent, integrated and computational description of the whole system.</p>
					<br />
					<h3>Using a formal digital language</h3>
					<p>A Model-Based Systems Engineering (MBSE) approach consists in using a formal digital language to specify, design, analyze and verify a system. It enables the implementation of workbenches providing modeling services such as edition, visualization, transformation, comparison, storage, etc.</p>
					<p class="text-center"><img src="images/mbse/capella-mbse-approach.png" /></p>
					<p>It allows systems architects to work on a system across the whole spectrum from a business needs perspective, to the physical implementation, including the logical decomposition of the system.</p>
					<p>Having both a functional view of the system as well as traceability right up to the physical components ensures the integrity of the system’s description and the full traceability throughout the systems engineering process. This reduces inconsistencies and facilitates assembly by allowing early identification of any incompatibilities between components.</p>
					<p>A MBSE approach can also be associated to a graphical notation, so that the system is visually described by multiple consistent views. Synchronized with the model these views ensure the consistency of the whole system’s description.</p>
					<br />
					<h3>Enabling the digital thread</h3>
					<p>The model being digital, it is possible to automate many engineering activities:</p>
					<ul>
						<li>consistency validation,</li>
						<li>derivation of architecture alternatives,</li>
						<li>variability management,</li>
						<li>product line engineering,</li>
						<li>trade-offs evaluation,</li>
						<li>production of deliverables,</li>
						<li>exchanges with other engineering tools,</li>
						<li>reuse of architectures between several projects.</li>
					</ul>
					<p>This digital thread allows systems engineers to explore more alternatives faster, address a broad range of multi-disciplinary concerns in a consistent way, and successfully achieve the correct objectives.</p>
                		<p>Implementing <a href="arcadia.html">Arcadia</a>, a field-proven methodology, Eclipse Capella&trade; is a MBSE tool <a href="features.html">supporting</a> these concepts.</p>
                      <div class="col-md-12 text-center">
                            <p><a class="fancybox" href="https://www.youtube.com/embed/nv8IOg_xVMs" data-fancybox-type="iframe"><img class="responsive" src="images/mbse/capella-mbse-solution.png" alt="Capella a MBSE Solution" /></a></p><br>
                        </div>
                     <h3>Learn more:</h3>
                     <ul>
	                     <li><a href="https://www.eclipse.org/community/eclipse_newsletter/2017/december/article1.php" target="_blank">Why Capella? Taking on the Challenges of Complex Systems Engineering</a></li>
	                     <li><a href="https://bit.ly/MBSEvsSpreadsheets_ChadJackson_LinkedIn" target="_blank">Making the Case: MBSE versus Spreadsheets and Documents</a></li>
	                     <li><a href="arcadia_capella_sysml_tool.html">Equivalences and differences between SysML and Arcadia/Capella</a></li>
                     </ul>
                </div>
            </div>
        </section> <!-- #mbse -->
        
        <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>