blob: e39f51acfa1af3975deafda1eea75fb3e6b35b5f [file] [log] [blame]
<!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">&nbsp; </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">&nbsp; </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>