<!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="A sustainable and extensible modeling workbench to master architectural design and manage complexity.">
        <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 solution">
            <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" >
                                	Features and Benefits
                                </h1>
                            </section> <!-- cd-intro -->
                            <h2 class="wow fadeInUp animated" data-wow-delay=".6s" >
								A sustainable and extensible modeling workbench<br> to master architectural design and manage complexity
                            </h2>
                        </div>
                    </div>
                </div>
            </div>
        </section><!--/#intro_banner-->

        <!--
        ==================================================
        Main Content
        ================================================== -->
        <section id="benefits" class="text-center">
            <div class="container">
                <div class="row">
                	<ul class="nav nav-tabs">
						<li class="active"><a href="#diagrams" data-toggle="tab">Diagrams</a></li>
						<li><a href="#tooling" data-toggle="tab">Tooling</a></li>
						<li><a href="#videos" data-toggle="tab">Videos</a></li>
					</ul>
						<div id="myTabContent" class="tab-content">
							<div id="diagrams" class="tab-pane fade active in">
								<p>This section provides an overview of the different kinds of
									diagrams supported by Eclipse Capella&trade;. It is not an exhaustive list of
									all diagrams available in each Arcadia engineering phase.</p>
								<h3>Operational Architecture</h3>
								<p>
									Operational architecture diagrams are used in Operational
									Analysis. It captures the allocation of <b>Operational
										Activities</b> to <b>Operational Entities</b>. Operational Processes
									can be displayed as highlighted paths.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/OperationalArchitecture.png"><img alt="Operational Architecture" src="images/start/diagrams/OperationalArchitecture.png" width="60%">
								</a></p>

								<h3>Capabilities</h3>
								<p>
									Capabilities diagrams are available in all Arcadia engineering
									phases but are particularly useful in Operational Analysis and
									System Need Analaysis. <b>Capabilities</b> are similar to UML use
									cases. They are illustrated by Dataflows, Functional Chains and
									Sequence Diagrams.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/Capabilities.png"><img alt="[MCB]" src="images/start/diagrams/Capabilities.png" width="60%">
								</a></p>

								<h3>Dataflows</h3>

								<p>Dataflow diagrams are available in all Arcadia engineering
									levels. They represent information dependency between functions.
									These diagrams provide rich mechanisms to manage complexity:
									Computed simplified links between high-level Functions,
									categorization of Exchanges, etc. Functional Chains can be
									displayed as highlighted paths.</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/dataflows.jpg"><img alt="Dataflows" src="images/start/diagrams/dataflows.jpg" width="60%">
								</a></p>

								<h3>Architecture</h3>
								<p>
									Architecture diagrams are used in all Arcadia engineering phases.
									Their main goal is to show the allocation of <b>Functions</b>
									onto <b>Components</b>. Functional Chains can be displayed as
									highlighted paths. In System Need Analysis, these diagrams
									contain one box representing the System under study plus the
									Actors.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/architecture_1.jpg"><img alt="Architecture" src="images/start/diagrams/architecture_1.jpg" width="60%">
								</a></p>

								<p>
									In Logical Architecture, these diagrams show the building blocks
									of the system. These are called <b>Logical Components</b>.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/architecture_2.jpg"><img alt="Architecture" src="images/start/diagrams/architecture_2.jpg" width="60%">
								</a></p>

								<p>
									In Physical Architecture, these diagrams also show the allocation
									of <b>Behavioural Components</b> onto <b>Implementation
										Components</b> (typically material, but not necessarily).
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/architecture_3.jpg"><img alt="Architecture" src="images/start/diagrams/architecture_3.jpg" width="60%">
								</a></p>

								<h3>Trees</h3>
								<p>
									Tree diagrams represent breakdowns of either <b>Functions</b> or
									<b>Components</b>. Each node can be folded / unfolded.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/tree_1.jpg"><img alt="Trees" src="images/start/diagrams/tree_1.jpg" width="60%">
								</a></p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/tree_2.jpg"><img alt="Trees" src="images/start/diagrams/tree_2.jpg" width="60%">
								</a></p>


								<h3>Sequence Diagrams</h3>
								<p>Capella provides several kinds of sequence diagrams:
									Functional Scenarios (lifelines are Functions), Exchange
									Scenarios (lifelines are Components/Actors while sequence
									messages are Functional or Component Exchanges), Interface
									Scenarios (lifelines are Components/Actors while sequence
									messages are Interface Operations). Modes, States and Functions
									can also be displayed on these diagrams.</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/scenario.jpg"><img alt="Sequence Diagrams" src="images/start/diagrams/scenario.jpg" width="60%">
								</a></p>

								<h3>Modes and States</h3>

								<p>Modes and States diagrams are UML-inspired state machines.
									Modes / States / Transitions can be related to Functions,
									Functional Exchanges, Interface Operations, etc.</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/modesstates.jpg"><img alt="Modes and States" src="images/start/diagrams/modesstates.jpg" width="60%">
								</a></p>

								<h3>Classes and Interfaces</h3>

								<p>Capella provides advanced mechanisms to model bit-precise
									data structures and relate them to Functional Exchanges,
									Component or Function Ports, Interfaces, etc.</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/classesinterfaces_1.jpg"><img alt="Classes Interfaces" src="images/start/diagrams/classesinterfaces_1.jpg" width="60%">
								</a></p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/start/diagrams/classesinterfaces_2.jpg"><img alt="Classes Interfaces" src="images/start/diagrams/classesinterfaces_2.jpg" width="60%">
								</a></p>
							</div>
							<div id="tooling" class="tab-pane">
									<p>The following is a non-exhaustive list of Capella
									differentiating features.</p>
								<h3>Methodological Guidance</h3>
								<p>
									The activity browser provides a <b>methodological access</b> to
									all key activities of Capella. It is the main entry point to a
									model and is both meant for beginners and power users.
								</p>
								<p><a href="arcadia.html" data-row="#documentation">Read more about Arcadia method <i class="fa fa-arrow-circle-right" aria-hidden="true"></i>
									</a>
								</p>
								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/overview.png"><img src="images/features/overview.png" alt="" width="60%">
								</a></p>

								<h3>Semantic Colormap</h3>
								<p>As graphical
									representations of elements play a key role in communication,
									Capella relies on a consistent colour scheme. This favours
									enhanced model readability for all stakeholders (architects, V&amp;V
									practitioners, specialty engineers, managers, etc.).</p>


								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/colormap.png"><img src="images/features/colormap.png" alt="" width="60%">
								</a></p>
								<h3>Semantic Browser</h3>
								<p>
									More useful than the standard hierarchical view of the model, the
									<b>semantic browser</b> instantaneously provides the context of
									model elements trough <b>meaningful queries</b>. It is the
									preferred way to navigate in models and diagrams and to quickly
									analyse the relationships between model elements.
								</p>


								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/semantic_browser.png"><img src="images/features/semantic_browser.png" alt="" width="60%">
								</a></p>
								<h3>Computed Links</h3>
								<p>
									A key feature of Capella is its ability to scale and <b>to
										tackle the increasing complexity of models</b>. Capella
									automatically computes graphical simplifications. The information
									exchanges between lower-level functions are automatically
									displayed on higher-level functions. This relieves architects
									from managing intermediate information exchanges and manually
									maintaining consistency between several levels of abstraction.
									Capella also provides tag-based mechanisms allowing the graphical
									grouping of semantically close exchanges.

								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/complexity_0.png"><img src="images/features/complexity_0.png" alt="" width="60%">
								</a></p>
								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/complexity_1.png"><img src="images/features/complexity_1.png" alt="" width="60%">
								</a></p>

								<h3>Advanced Diagram Management</h3>

								<p>
									<b>Automated contextual diagrams</b>: Content is automatically
									updated according to preselected elements and predefined semantic
									rules  <b>Synchronization/unsynchronization of
										diagrams</b>: Gives a fine level of control on the elements which
									are systematically displayed or not (Ports of Functions,
									Exchanges between Components, Properties of Classes, etc.)
									<b>Filters</b> help improve readability of diagrams by selecting
									display options and automatically hiding / showing elements.
									<b>Layers</b> are means to customise the graphical rendering of
									elements in a diagram based on different concerns (e.g.
									speciality viewpoints).
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/filters.png"><img src="images/features/filters.png" alt="" width="60%">
								</a></p>
								<h3>Model Validation</h3>
								<p>
									Capella organizes model validation rules in several categories:
									Integrity, design, completeness, traceability, etc. Architects
									can define <b>validation profiles</b> focusing on different
									aspects. Whenever possible, <b>quick fixes</b> provide quick and
									automated solutions.
								</p>


								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/quickfixes.png"><img src="images/features/quickfixes.png" alt="" width="60%">
								</a></p>
								<h3>Semantic delete with preview</h3>
								<p>Capella provides
									instant impact analysis of deletions.</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/del_preview.png"><img src="images/features/del_preview.png" alt="" width="60%">
								</a></p>
								<h3>Replicable elements and libraries</h3>
								<p>
									Replicable Elements are mechanisms allowing the <b>easy reuse
										of (possibly multi-root) model parts</b>. A Replicable Elements
									Collection (REC, for Record) is a definition of an element / set
									of elements which can be reused in multiple contexts /
									configurations / models. A Replica (RPL, for Replay) is an
									instantiation of a REC. RECs can be packaged in libraries, which
									can be shared between several projects.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/rec_rpl.png"><img src="images/features/rec_rpl.png" alt="" width="60%">
								</a></p>
								<!--
								<h3>Modelling Patterns</h3>
								<p>Recurring
									modelling schemes can be captured with patterns.</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/patterns.png"><img src="images/features/patterns.png" alt="" width="40%">
								</a></p>
								-->
								<h3>Transition System/Subsystems</h3>
								<p>
									The <b>automated and iterative transition between system and
										subsystems</b> is a great help for managing several levels of
									engineering. The contract and model of the subsystems are
									computed from the system. Ideally, subsystems stakeholders are
									involved in co-engineering activities at system level before the
									transition occurs.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/transition_system_subsystem.png"><img src="images/features/transition_system_subsystem.png" alt="" width="60%">
								</a></p>
								<h3>Multi-Viewpoint</h3>
								<p>
									Capella provides basic demonstration viewpoints (Mass, Cost and
									Latency). Combined with Kitalpha, it also provides an <b>API
										for viewpoint development</b> and a contributive comparison view to
									evaluate the performance of candidate architectures according to
									different concerns.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/multi_vp.png"><img src="images/features/multi_vp.png" alt="" width="60%">
								</a></p>
								<h3>HTML output</h3>
								<p>
									Sharing models with all stakeholders is essential in model-based
									systems engineering. Publishing and sharing HTML versions of
									models helps <b>make models THE reference of all engineering
										activities</b>.
								</p>

								<p class="text-center"><a rel="gallery" class="fancybox" href="images/features/html.jpg"><img src="images/features/html.jpg" alt="" width="60%">
								</a></p>
							</div>
							<div id="videos" class="tab-pane">
								<iframe width="560" height="315" src="//www.youtube.com/embed/OGpHMR_j3AM?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=opaque&amp;controls=1&amp;showinfo=0&amp;theme=light&amp;vq=hd720&amp;color=white" frameborder="0" allowfullscreen=""></iframe>
								<p>
									<b>Embedded methodological guidance</b>
								</p>

								<iframe width="560" height="315" src="//www.youtube.com/embed/WtwAzftHd4A?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=opaque&amp;controls=1&amp;showinfo=0&amp;theme=light&amp;vq=hd720&amp;color=white" frameborder="0" allowfullscreen=""></iframe>
								<p>
									<b>Manage model complexity</b>
								</p>

								<iframe width="560" height="315" src="//www.youtube.com/embed/UiOiBomTU1c?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=opaque&amp;controls=1&amp;showinfo=0&amp;theme=light&amp;vq=hd720&amp;color=white" frameborder="0" allowfullscreen=""></iframe>
								<p>
									<b>Browsing the model</b>
								</p>

								<iframe width="560" height="315" src="//www.youtube.com/embed/HKMaGc99Zh8?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=opaque&amp;controls=1&amp;showinfo=0&amp;theme=light&amp;vq=hd720&amp;color=white" frameborder="0" allowfullscreen=""></iframe>
								<p>
									<b>Productivity tools</b>
								</p>

								<iframe width="560" height="315" src="//www.youtube.com/embed/cT43CmZM2go?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=opaque&amp;controls=1&amp;showinfo=0&amp;theme=light&amp;vq=hd720&amp;color=white" frameborder="0" allowfullscreen=""></iframe>
								<p>
									<b>Multi-viewpoint trade-off analysis</b>
								</p>

								<iframe width="560" height="315" src="//www.youtube.com/embed/zvIzyDxAj1c?rel=0&amp;autoplay=0&amp;loop=0&amp;wmode=opaque&amp;controls=1&amp;showinfo=0&amp;theme=light&amp;vq=hd720&amp;color=white" frameborder="0" allowfullscreen=""></iframe>
								<p>
									<b>Creation of viewpoint with Capella Studio 1.1.0</b>
								</p>

							</div>
					</div>
                </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>