| <!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>Is Capella a SysML 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://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 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"> |
| Equivalences and differences<br>between SysML and |
| Arcadia/Capella<br> |
| </h1> |
| </section> |
| <!-- cd-intro --> |
| <h2 class="wow fadeInUp" data-wow-delay=".4s"> |
| Among the standards from which Arcadia and Eclipse Capella are inspired, |
| the SysML language is definitely prominent. This page explains |
| why Arcadia/Capella is to some extent a SysML-like solution |
| to design the architecture of complex systems using models. |
| </h2> |
| |
| <div class="row text-center"> |
| <div class="col-md-3 col-md-offset-3"> |
| <a class="wow fadeInUp btn btn-default smooth-scroll" |
| data-wow-delay=".5s" href="#equivalences" |
| data-row="#equivalences">Equivalences</a> |
| </div> |
| <div class="col-md-3"> |
| <a class="wow fadeInUp btn btn-default default smooth-scroll" |
| data-wow-delay=".5s" href="#differences" |
| data-row="#differences">Differences</a> |
| </div> |
| </div> |
| <div class="clear"></div> |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| </section> |
| <!--/#intro_banner--> |
| |
| <!-- |
| ================================================== |
| Webinar |
| ================================================== --> |
| <section id="webinar" class="bg_lightest_grey text-center"> |
| <div class="container"> |
| <h2 class="title wow fadeInDown" data-wow-delay=".3s">Webinar</h2> |
| <div class="row"> |
| <h3 class="wow fadeInDown" data-wow-delay=".5s"> |
| This webinar illustrates the main equivalences and differences <br>between SysML and Arcadia/Capella with substantial rationales |
| </h3><br> |
| |
| <div class="col-md-12 text-center"> |
| <p><a class="fancybox" href="https://www.youtube.com/embed/qFfj8K3uj3Y" data-fancybox-type="iframe"><img src="images/arcadia_sysml/webinar_sysml_arcadia_capella.png" alt="" /></a></p> |
| </div> |
| </div> |
| </div> |
| </section> <!-- #key_points --> |
| |
| <!-- |
| ================================================== |
| Comparaison |
| ================================================== --> |
| <section id="compare" class="text-center"> |
| <div class="container"> |
| <div class="row"> |
| <h2 class="title wow fadeInDown" data-wow-delay=".3s">Overview</h2> |
| <p class="wow fadeInDown" data-wow-delay=".4s">Designing complex |
| and critical systems, and more generally architectures that are |
| subject to multiple functional and non-functional constraints, is |
| an activity which requires a level of rigor that can only be |
| provided by formalized and tooled modeling approaches like the ones |
| based on Arcadia/Capella and SysML tools.</p> |
| |
| <table class="table table-striped wow fadeInDown" |
| data-wow-delay=".5s"> |
| <thead> |
| <tr> |
| <th width="20%"></th> |
| <th class="txt_indigo" width="40%">SysML</th> |
| <th class="txt_indigo">Arcadia/Capella</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="txt_indigo"><strong>Positioning</strong></td> |
| <td><p>SysML is a standard and a general-purpose modeling |
| language for modeling systems. SysML provides very rich and |
| advanced expression means covering a very broad spectrum of |
| applications, spanning from high-level architecture modeling to |
| detailed design at the frontier of simulation.</p></td> |
| <td><p>Inspired by SysML concepts, the Arcadia/Capella solution |
| focuses on the design of systems architectures. For the sake of |
| an easier learning curve and because of the precise scope |
| addressed by Arcadia/Capella, the expression means are sometimes |
| reduced compared to SysML. The ultimate goal of Arcadia/Capella |
| is to have systems engineers embrace the cultural change of MBSE |
| rather than having modeling “experts” owning the model on behalf |
| of systems engineers. Therefore, Arcadia/Capella are strongly |
| driven by the current practices and concerns of system |
| engineering practitioners.</p></td> |
| </tr> |
| <tr> |
| <td class="txt_indigo"><strong>Method</strong></td> |
| <td><p>SysML is not associated to a particular method even |
| though several engineering methods can be followed. As such, |
| SysML only provides a vocabulary, but it does not specify when |
| to use one concept or another, how to organize models, etc.</p></td> |
| <td><p>The Arcadia method enforces an approach structured on |
| different engineering perspectives establishing a clear |
| separation between system context and need modeling (operational |
| need analysis and system need analysis) and solution modeling |
| (logical and physical architectures), in accordance with the |
| IEEE 1220 standard and covering parts of ISO/IEC/IEEE 15288.</p></td> |
| </tr> |
| <tr> |
| <td class="txt_indigo"><strong>Language</strong></td> |
| <td><p>Technically, the SysML language itself is defined as an |
| extension of the Unified Modeling Language (UML). Both UML and |
| SysML are general-purpose languages targeting wide spectrums of |
| engineering domains and are relying on software-originated |
| engineering paradigms using types, inheritance, etc.</p></td> |
| <td><p>The Arcadia concepts are mostly similar to the UML/SysML |
| standard (about 75%) and the NATO Architecture Framework (NAF) |
| standard (5%). Interoperability with SysML tools is possible |
| using ad-hoc imports/exports. Because of the focus on |
| architectural design, some of the SysML concepts have been |
| simplified or specialized in order to better match the concepts |
| system engineering practitioners already use in their |
| engineering documents and assets. This is the case of the |
| concepts related to functional analysis for instance.</p></td> |
| </tr> |
| <tr> |
| <td class="txt_indigo"><strong>Diagrams</strong></td> |
| <td><p>SysML includes diagrams inherited from UML2 and adds new |
| diagrams:</p> |
| |
| <ul> |
| <li>4 diagrams are the same as UML2 diagrams (Sequence, |
| State Machine, Use Case and Package);</li> |
| <li>3 diagrams are extensions of UML2 diagrams (Activity, |
| Block definition and Internal Block);</li> |
| <li>2 diagrams are new diagram types (Requirement and |
| Parametric).</li> |
| </ul> |
| </td> |
| <td><p>Arcadia method is supported by various kinds of diagrams |
| largely inspired by UML and SysML:</p> |
| <ul> |
| <li>Architecture diagrams;</li> |
| <li>Dataflows diagrams;</li> |
| <li>Functional chains diagrams;</li> |
| <li>Sequence diagrams;</li> |
| <li>Tree diagrams;</li> |
| <li>Mode and States diagrams;</li> |
| <li>Classes and Interfaces diagrams.</li> |
| </ul> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <p class="wow fadeInDown text-center" data-wow-delay=".7s"> |
| <em>In practice, the operational added value of the MBSE |
| approach is based on many other criteria such as the definition of |
| project modeling objectives, the implementation of adapted |
| methods, the skills of the teams, the involvement of the |
| hierarchy, the integration with the existing information system |
| and third party tools, etc. In short, there are a other aspects to |
| consider when evaluating when to use a SysML tool or Capella than |
| just the language.</em> |
| </p> |
| </div> |
| </div> |
| </section> |
| <!-- #how --> |
| |
| <!-- |
| ================================================== |
| All Diagrams - Intro Banner with Anchors |
| ================================================== --> |
| <section class="bg_indigo"> |
| <div class="container"> |
| <div class="row" id="equivalences"> |
| <div class="col-md-12 text-center txt_white"> |
| <div class="block wow fadeInUp" data-wow-delay=".2s"> |
| <h2 class="title wow fadeInUp txt_white" data-wow-delay=".2s"> |
| Similarities and equivalences between SysML and Arcadia</h2> |
| <p class="wow fadeInUp txt_white" data-wow-delay=".3s"> |
| For the main SysML diagrams, Arcadia proposes a twin diagram. <br>See |
| below the similarities and equivalences between SysML diagrams |
| and the corresponding ones in Arcadia: |
| </p> |
| <br> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".1s" |
| href="#block-definition" |
| data-row="#block-definition">Block Definition Diagram <i |
| class="fa fa-arrow-circle-right" aria-hidden="true"></i></a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".2s" |
| href="#internal-block" |
| data-row="#internal-block">Internal Block Diagram <i |
| class="fa fa-arrow-circle-right" aria-hidden="true"></i></a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".4s" |
| href="#activity" data-row="#activity">Activity |
| Diagram <i class="fa fa-arrow-circle-right" aria-hidden="true"></i> |
| </a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".5s" |
| href="#sequence" data-row="#sequence">Sequence |
| Diagram <i class="fa fa-arrow-circle-right" aria-hidden="true"></i> |
| </a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".6s" |
| href="#state-machine" |
| data-row="#state-machine">State Machine Diagram <i |
| class="fa fa-arrow-circle-right" aria-hidden="true"></i></a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".7s" |
| href="#use-case" data-row="#use-case">Use |
| Case Diagram <i class="fa fa-arrow-circle-right" |
| aria-hidden="true"></i> |
| </a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".8s" |
| href="#requirement" data-row="#requirement">Requirement |
| Diagram <i class="fa fa-arrow-circle-right" aria-hidden="true"></i> |
| </a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".9s" |
| href="#parametric" data-row="#parametric">Parametric |
| Diagram <i class="fa fa-arrow-circle-right" aria-hidden="true"></i> |
| </a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
| <!--/#extensions--> |
| |
| <!-- |
| ================================================== |
| Diagrams sections |
| ================================================== --> |
| <section class="next-section" id="all_diagrams_equivalences"> |
| <div class="container"> |
| <p class="txt_indigo text-center"> |
| <span class="caret"> </span> |
| </p> |
| |
| <div class="row" id="block-definition"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Block Definition Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <div class="separator hidden-sm"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The Block |
| Definition Diagram in SysML defines features of blocks and |
| relationships between blocks such as associations, |
| generalizations, and dependencies. It captures the definition of |
| blocks in terms of properties and operations, and relationships |
| such as a system hierarchy or a system classification tree.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-block-definition-diagram_1.jpg"> |
| <img |
| src="images/arcadia_sysml/sysml-block-definition-diagram_1.jpg" /> |
| </a> |
| </p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-block-definition-diagram_2.jpg"> |
| <img |
| src="images/arcadia_sysml/sysml-block-definition-diagram_2.jpg" /> |
| </a> |
| </p> |
| </div> |
| </div> |
| <div class="col-md-6 right-content"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">What is performed |
| through Block Definition Diagrams in SysML is achieved in Arcadia |
| through two kinds of diagrams:</p> |
| <ul> |
| <li>Component Breakdown Diagrams show the component |
| hierarchy through a graphical tree. |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-block-definition-diagram_2.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-block-definition-diagram_2.jpg" /> |
| </a> |
| </p> |
| </li> |
| <li>Component Interface Diagrams show composition |
| relationships between components through graphical containment |
| and relationships between components and interfaces through |
| ports. Component properties are not displayed graphically. |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-block-definition-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-block-definition-diagram_1.jpg" /></a> |
| </p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="internal-block"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Internal Block Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <div class="separator hidden-sm"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The Internal |
| Block Diagram in SysML captures the internal structure of a |
| block in terms of properties and connectors between properties. |
| </p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-internal-block-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-internal-block-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| <div class="col-md-6 right-content"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">Arcadia |
| Architecture Diagrams describe the assembly of components in |
| terms of internal breakdown and connections.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-internal-block-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-internal-block-diagram_1.jpg" /></a> |
| </p> |
| <p> |
| <em>Note: See the dedicated section in <a class="wow fadeInUp smooth-scroll" |
| data-wow-delay=".5s" href="#differences" |
| data-row="#differences">Differences</a> to |
| understand how the concepts of parts, blocks and cardinalities |
| are managed in Capella.</em> |
| </p> |
| |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="activity"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Activity Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The Activity |
| Diagram is a behavior diagram representing the flow of control |
| and objects between activities.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-activity-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-activity-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| <div class="col-md-6 right-content"> |
| <div class="separator hidden-sm"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s"> |
| Capella functions naturally map to SysML activities/actions. |
| However, while SysML Activity Diagrams are primarily intended to |
| specify the control flows between activities, Capella Dataflows |
| Diagrams only present the dependencies between functions with |
| absolutely no semantics of control. The rationale for this |
| choice is explained in this <a |
| href="http://download.polarsys.org/capella/publis/INCOSE_Capella_SysML_paper.pdf" |
| target="_blank">dedicated paper</a>. |
| </p> |
| |
| <p class="wow fadeInUp" data-wow-delay=".1s">Allocating |
| functions to components in Capella is similar to allocating |
| actions to partitions representing blocks in SysML. Capella |
| Architecture Diagrams ressemble to a mapping of SysML Activity |
| Diagrams onto Internal Block Diagrams.</p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The following is |
| a Capella Architecture Diagram voluntarily made similar to a |
| SysML Activity Diagram where actions would be displayed in |
| vertical partitions.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-activity-diagram_1.jpg"> |
| <img src="images/arcadia_sysml/arcadia-activity-diagram_1.jpg" /> |
| </a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="sequence"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Sequence Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">Sequence Diagrams |
| describe the interaction information with a focus on the time |
| sequence.</p> |
| <p class="wow fadeInUp" data-wow-delay=".2s">This diagram |
| represents the sending and receiving of messages between the |
| interacting entities called lifelines, where time is represented |
| along the vertical axis. The sequence diagrams can represent |
| highly complex interactions with special constructs to represent |
| various types of control logic, reference interactions on other |
| sequence diagrams, and decomposition of lifelines into their |
| constituent parts.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-sequence-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-sequence-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| <div class="col-md-6 right-content"> |
| <div class="separator hidden-sm"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The Capella |
| underlying constructs of Sequence Diagrams are strictly mapped |
| onto SysML ones. The differences reside in the variety of |
| elements that can be referenced in a consistent manner by |
| lifelines and sequence messages.</p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">In the following |
| figure, lifelines represent components (blocks in SysML) and |
| sequence messages represent dependencies existing between the |
| functions (actions/activities in SysML) respectively allocated |
| to source and target components.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-sequence-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-sequence-diagram_1.jpg" /></a> |
| </p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">In the next |
| Sequence Diagram lifelines represent functions |
| (actions/activities in SysML) and sequence messages represent |
| dataflows between these functions.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-sequence-diagram_2.jpg"><img |
| src="images/arcadia_sysml/arcadia-sequence-diagram_2.jpg" /></a> |
| </p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">In the following |
| Sequence Diagram lifelines represent components or data (blocks |
| in SysML) and sequence messages represent operations belonging |
| to the interfaces provided/required by the source and target |
| components.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-sequence-diagram_3.jpg"><img |
| src="images/arcadia_sysml/arcadia-sequence-diagram_3.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="state-machine"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| State Machine Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <div class="separator hidden-sm"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The State |
| Machine Diagram is a behavior diagram describing the state |
| transitions and actions that a system or its parts perform in |
| response to events. It is used for representing behavior as the |
| state history of an object in terms of its transitions and |
| states.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-state-machine-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-state-machine-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| <div class="col-md-6 right-content"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The Modes and |
| States Machines in Capella are extremely close to SysML. The |
| constructs are the same, but Capella adds a bit of semantics |
| (difference between modes and states, articulation with |
| functional analysis and interfaces).</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-state-machine-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-state-machine-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="use-case"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Use Case Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <div class="separator hidden-sm"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The Use Case |
| Diagram is a method for describing the usages of a system. It |
| represents a high-level description of functionalities that are |
| achieved through interaction among a system (subject) and its |
| actors (environment) to achieve a goal.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-use-case-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-use-case-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| <div class="col-md-6 right-content"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">Capabilities in |
| Capella are equivalent to SysML use cases and Capabilities |
| Diagrams largely ressemble SysML Use Case diagrams. Capabilities |
| are intensively used in Capella to organize the functional |
| analysis: the involvement of stakeholders in a given capability |
| is enriched by a specification of the stakeholder functions |
| performed in the context of this capability.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-use-case-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-use-case-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="requirement"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Requirement Diagram</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">SysML includes a |
| graphical construct to represent text based requirements and |
| relate them to other model elements. The Requirements Diagram |
| captures requirements hierarchies and requirements derivation, |
| and the satisfy and verify relationships allow a modeler to |
| relate a requirement to a model element that satisfies or |
| verifies the requirements. The requirement diagram provides a |
| bridge between the typical requirements management tools and the |
| system models.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-requirement-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-requirement-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| <div class="col-md-6 right-content"> |
| <div class="separator hidden-sm"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">Textual |
| requirements can be displayed in any Capella diagram. |
| Relationships between requirements and model elements as well as |
| between requirements can be shown. There is however no dedicated |
| requirement diagram in Capella.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-requirement-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-requirement-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="class"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Class Diagrams</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The UML Class |
| Diagram does not belong to the official subset of UML diagrams |
| available in SysML (it is replaced by the Block Definition |
| Diagram which is based on the UML Class Diagram, with |
| restrictions and extensions). However, it is presented here, as |
| it is frequently used in addition to SysML diagrams.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-class-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-class-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| <div class="col-md-6 right-content"> |
| <div class="separator hidden-sm"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">Capella class |
| diagrams are fully aligned on UML class diagrams. Capella |
| however adds a certain amount of construction rules (prohibiting |
| dependency cycles for example, or enforcing certain |
| visualization choices according to the properties of elements).</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-class-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-class-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="row" id="parametric"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Parametric Diagrams</h2> |
| </div> |
| <div class="col-md-6 left-content"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">Parametric |
| Diagrams are a restricted form of Internal Block Diagram that |
| shows only the use of constraint blocks along with the properties |
| they constrain within a context. Parametric Diagrams are used to |
| support engineering analysis, such as performance or mass |
| properties analysis.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-parametric-diagram_1.jpg"><img |
| src="images/arcadia_sysml/sysml-parametric-diagram_1.jpg" /></a> |
| </p> |
| </div> |
| <div class="col-md-6 right-content"> |
| <div class="separator hidden-sm"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">While most of |
| the underlying concepts are present in Capella (constraints, |
| opaque expressions with assisted editing, parseable expressions, |
| properties on elements, physical dimensions, etc.), no diagram |
| is dedicated to their graphical display.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-parametric-diagram_1.jpg"><img |
| src="images/arcadia_sysml/arcadia-parametric-diagram_1.jpg" /></a> |
| </p> |
| <p> |
| <em>Note: Currently, Capella users typically use dedicated |
| viewpoints (language and analyses extensions + graphical layers |
| on top of existing diagrams) to evaluate their architecture |
| against non-functional constraints. They rarely use the |
| architecture models for simulation purposes. Should the |
| end-user request them, parametric diagrams could be an easy |
| addition to Capella.</em> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| </section> |
| <!--/#all_diagrams--> |
| |
| <!-- |
| ================================================== |
| Differences - Intro Banner with Anchors |
| ================================================== --> |
| <section class="bg_indigo"> |
| <div class="container"> |
| <div class="row" id="differences"> |
| <div class="col-md-12 text-center txt_white"> |
| <div class="block wow fadeInUp" data-wow-delay=".2s"> |
| <h2 class="title wow fadeInUp txt_white" data-wow-delay=".2s"> |
| Differences between SysML and Arcadia/Capella</h2> |
| <p class="wow fadeInUp txt_white" data-wow-delay=".3s">The |
| purpose of Arcadia and Capella is to have systems engineers |
| embrace the cultural change of MBSE, rather than having modeling |
| “experts” owning the model on behalf of systems engineers. The |
| following differences are motivated by the commitment to reach |
| this goal and result from the integration of the actual practices |
| and concerns of systems engineers who do not necessarily have |
| software engineering background.</p> |
| <br> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".1s" |
| href="#functional-analysis" |
| data-row="#functional-analysis">Functional Analysis <i |
| class="fa fa-arrow-circle-right" aria-hidden="true"></i></a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".2s" |
| href="#integration-functions-components-interfaces" |
| data-row="#integration-functions-components-interfaces">Integration Functions / Components / Interfaces <i |
| class="fa fa-arrow-circle-right" aria-hidden="true"></i> |
| </a> |
| </p> |
| <p> |
| <a class="wow fadeInUp smooth-scroll" data-wow-delay=".3s" |
| href="#management-instances-definitions-usages" |
| data-row="#management-instances-definitions-usages">Management of "Instances", or "Definitions and Usages" <i |
| class="fa fa-arrow-circle-right" aria-hidden="true"></i></a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
| <!--/#extensions--> |
| |
| <!-- |
| ================================================== |
| Differences - Diagrams Sections |
| ================================================== --> |
| <section class="next-section" id="all_diagrams_differences"> |
| <div class="container"> |
| <p class="txt_indigo text-center"> |
| <span class="caret"> </span> |
| </p> |
| |
| <div class="row" id="functional-analysis"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Functional Analysis</h2> |
| </div> |
| <div class="col-md-12"> |
| <p class="wow fadeInUp" data-wow-delay=".3s">Functional |
| analysis is a classical technique broadly used by systems |
| engineers. Arcadia and Capella provide methodological guidance |
| and engineering helpers to support this technique that has been |
| mostly left out of SysML V1.</p> |
| <p class="wow fadeInUp" data-wow-delay=".3s">The mapping of |
| Capella functions to SysML activity is the most natural one in |
| terms of semantics. Capella functions are verbs specifying the |
| actions expected from the component they are allocated to. This |
| section describes the structural differences between SysML |
| activities/actions and Capella functions.</p> |
| <br> |
| </div> |
| |
| <div class="col-md-6 left-content"> |
| <h4>SysML</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The articulation |
| between several Activity Diagrams relies on two major concepts: |
| activities are described by different kinds of actions including |
| some that can reference other activities, and the parameters of a |
| given activity are connected (delegated) to the output or input |
| pins of the actions describing it. This strong encapsulation |
| mechanism favors the reuse of activity definitions in multiple |
| contexts but imposes constraints on what can be represented in |
| one single diagram and makes bottom-up workflows more difficult |
| to implement.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/sysml-functional-analysis_1.jpg"> |
| <img src="images/arcadia_sysml/sysml-functional-analysis_1.jpg" /> |
| </a> |
| </p> |
| </div> |
| <div class="col-md-6 right-content"> |
| <div class="separator hidden-sm"> |
| <h4>Arcadia/Capella</h4> |
| <p class="wow fadeInUp" data-wow-delay=".1s">There are three |
| major differences between SysML Activity Diagrams and Capella |
| dataflows:</p> |
| <ol> |
| <li>There is no control flow in Capella Dataflow Diagrams, |
| meaning that there is no semantics of execution and there are |
| no control nodes such as Join, Fork, etc.. The detailed |
| rationale for the absence of control flows in Capella dataflow |
| is explained in <a |
| href="http://download.polarsys.org/capella/publis/INCOSE_Capella_SysML_paper.pdf" |
| target="_blank">this dedicated paper</a>. |
| </li> |
| <li>The relationship between a function and its subfunctions is a direct containment |
| </li> |
| <li>There is no delegation mechanism between functions at |
| each level of decomposition in Capella. The rationale is |
| detailed hereunder.</li> |
| </ol> |
| <p class="wow fadeInUp" data-wow-delay=".2">In a hierarchy of |
| Capella functions, non-leaf functions are only “grouping” |
| elements. This means:</p> |
| <ul> |
| <li>Non-leaf functions are not supposed to have ports nor |
| functional dependencies</li> |
| <li>Non leaf-functions are not supposed to be allocated to |
| components</li> |
| <li>A leaf function can be connected freely to any other |
| leaf function</li> |
| <li>When a non-leaf function has ports, the design is |
| considered non-finalized. The remaining ports are supposed to |
| be moved towards a leaf function</li> |
| <li>Low-levels dependencies between leaf functions are |
| automatically displayed when intermediate/parent/non-leaf |
| functions are displayed on a diagram.</li> |
| </ul> |
| <p class="wow fadeInUp" data-wow-delay=".3">The rationales |
| for this modeling choice are multiple:</p> |
| <ul> |
| <li>This helps manage the complexity of functional trees by |
| relieving engineers from the tedious task of maintaining the |
| consistency of dependencies between several levels of |
| decomposition</li> |
| <li>This allows the immediate production of simplified |
| views of the functional analysis</li> |
| <li>This enables the easy combination between top-down and |
| bottom-up workflows</li> |
| </ul> |
| |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-functional-analysis_1.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-functional-analysis_1.jpg" /> |
| </a> |
| </p> |
| <p class="wow fadeInUp" data-wow-delay=".12">Capella |
| leverages this language choice to provide several kinds of |
| simplified views of the system architecture. The following |
| diagram for example is automatically computed. Ports are |
| displayed on non-leaf functions but still belong to children |
| functions.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-functional-analysis_2.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-functional-analysis_2.jpg" /> |
| </a> |
| </p> |
| <p class="wow fadeInUp" data-wow-delay=".12">Similarly, |
| graphical simplifications of Architecture Diagrams can be computed by |
| automatically performing grouping at component and function |
| levels.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-functional-analysis_3.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-functional-analysis_3.jpg" /> |
| </a> |
| </p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-functional-analysis_4.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-functional-analysis_4.jpg" /> |
| </a> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="integration-functions-components-interfaces"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Integration Functions / Components / Interfaces</h2> |
| </div> |
| |
| <div class="col-md-12"> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The biggest |
| objective of the Arcadia method is to secure the architectural |
| design activity through identification and justification of the |
| interfaces. This is achieved by providing a global approach to |
| conduct functional, structural, and interface modeling in |
| parallel:</p> |
| <ul> |
| <li>Identification of the functional expectations of the |
| subsystems (allocation of functions to components)</li> |
| <li>Identification of the functional dependencies between |
| the subsystems (specification of the exchanges between functions |
| ideally with a structural description of the exchanged items)</li> |
| <li>Allocation of functional dependencies to assembly |
| relationships between subsystems (allocation of functional ports |
| to component ports, allocation of functional exchanges to |
| component exchanges, etc.)</li> |
| <li>Specification of the interfaces provided and required |
| through component ports (with a possible automated deduction |
| based on all the above-mentioned specification)</li> |
| </ul> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-integration-structure-interface-functions_1.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-integration-structure-interface-functions_1.jpg" /> |
| </a> |
| </p> |
| <p>Instead of showing the actual element name, the label of |
| functional dependencies can show references towards the exchanged |
| items.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-integration-structure-interface-functions_2.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-integration-structure-interface-functions_2.jpg" /> |
| </a> |
| </p> |
| <p>The following diagram details the content of the interfaces |
| between the components, deduced from the functional analysis and |
| multiple allocations.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-integration-structure-interface-functions_3.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-integration-structure-interface-functions_3.jpg" /> |
| </a> |
| </p> |
| <p>This integration of the functions / components / interfaces |
| triptych is not straightforward to implement and enforce in SysML |
| v1. This global approach promoted in Capella also comes with a |
| set of assistance tooling enforcing the model correctness |
| regarding this integration and providing automation means.</p> |
| <p> |
| <em>Note: The topic of a better integration between |
| structure and behaviour is currently being investigated within |
| the SysML v2 SST submission team. </em> |
| </p> |
| </div> |
| </div> |
| </div> |
| |
| <div class="row" id="management-instances-definitions-usages"> |
| <div class="block wow fadeInUp" data-wow-delay=".1s"> |
| <div class="section-heading"> |
| <h2 class="title wow fadeInUp text-center" data-wow-delay=".1s"> |
| Management of "instances", or "definitions and usages"</h2> |
| </div> |
| <div class="col-md-12"> |
| <p class="wow fadeInUp" data-wow-delay=".1s">The SysML |
| Internal Block Diagram is dedicated to model the internal |
| structure of a block. SysML relies on a generic block/part |
| paradigm: in an Internal Block Diagram, a block can be decomposed |
| into parts (usages) which are themselves typed by other blocks |
| (definitions). A bicycle “block” has two parts “front wheel” and |
| “rear wheel” which are both typed by the block “wheel”. The |
| “wheel” definition is captured in one dedicated block and the |
| same definition can be reused many times in the system through |
| the part concept.</p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">It is possible in |
| Capella to use the same block/part paradigm than in SysML. The |
| following diagrams show how the memory card compartment of the |
| camera can have two slots. There is only one “Memory Card” |
| component, but it is referenced twice. The component breakdown |
| diagram shows the unicity of the “Memory Card” component.</p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-management-instances_1.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-management-instances_1.jpg" /> |
| </a> |
| </p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-management-instances_2.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-management-instances_2.jpg" /> |
| </a> |
| </p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">However, Capella |
| is configured by default for an instance-driven modeling. Return |
| of experience showed that systems engineers are not necessarily |
| comfortable with the workflow of creating definition elements |
| first (“blocks” or “components”) and then referencing them from |
| specific usage elements (“parts”).</p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">In addition, |
| architectural design in Capella also consists in performing non |
| functional analyses where it is critical to be able to |
| distinguish the different occurrences of each element and to be |
| able to give them different properties or values. For example, |
| safety analyses typically require to distinguish between the |
| execution of an “identical” function in two distinct components.</p> |
| <p class="wow fadeInUp" data-wow-delay=".1s">This means |
| components and functions in Capella are by default considered as |
| instances or usages.</p> |
| |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-management-instances_3.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-management-instances_3.jpg" /> |
| </a> |
| </p> |
| <p class="text-center"> |
| <a rel="gallery" class="fancybox" |
| href="images/arcadia_sysml/arcadia-management-instances_4.jpg"> |
| <img |
| src="images/arcadia_sysml/arcadia-management-instances_4.jpg" /> |
| </a> |
| </p> |
| <p>To support this approach, Capella provides automated |
| mechanisms allowing the replication and synchronization of model |
| elements (REC and RPL, for Records and Replica).</p> |
| <p> |
| <em>Note: This topic is known as “usage-based modeling” in |
| the SysML v2 submission SST team, the goal being to have a |
| language able to efficiently support multiple creation |
| workflows. The outcome of this effort might at some point be |
| taken into account in Capella. </em> |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
| |
| <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> |