<!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 - Arcadia</title>
<meta name="description" content="Let yourself be guided with Arcadia, a comprehensive methodological and tool-supported model-based engineering guidance.">
<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>
<!-- display videos in fancybox -->
<script type="text/javascript">
            $(document).ready(function() {
                $(".various").fancybox({
                    maxWidth    : 800,
                    maxHeight   : 600,
                    fitToView   : false,
                    width       : '70%',
                    height      : '70%',
                    autoSize    : false,
                    closeClick  : false,
                    openEffect  : 'elastic',
                    closeEffect : 'none',
                    beforeLoad  : function(){
                        var url= $(this.element).attr("href");
                        url = url.replace(new RegExp("watch\\?v=", "i"), 'v/');
                        url += '?fs=1&autoplay=1';
                        this.href = url
                    }
                });
            });
        </script>
<script>
            $(document).ready(function(){
                $(".fancypdf").fancybox({
                    openEffect  : 'none',
                    closeEffect : 'none',
                    iframe : {
                        preload: false
                    }
                });
            });
        </script>
</head>
<body ng-app="capella" data-deferred-cloak>
	<!--
        ==================================================
        Header Section
        ================================================== -->
	<ng-include src="'angular/blocks/header.html'"></ng-include>
	<!--
        ==================================================
            Global Page Section Start
        ================================================== -->
	<section class="hero-area arcadia">
		<div class="container">
			<div class="row">
				<div class="col-md-12 text-center">
					<div class="block wow fadeInUp" data-wow-delay=".3s">
						<!-- Slider -->
						<section class="cd-intro">
							<h1 class="wow fadeInUp animated" data-wow-delay=".4s">Let
								yourself be guided with Arcadia</h1>
						</section>
						<!-- cd-intro -->
						<!-- /.slider -->
						<h2 class="wow fadeInUp animated" data-wow-delay=".6s">
							A comprehensive methodological and tool-supported<br>model-based
							engineering guidance<br>
						</h2>
					</div>
				</div>
			</div>
		</div>
	</section>
	<!--/#page-header-->
	<!--
        ==================================================
        Arcadia sheet
        ================================================== -->
		<ng-include src="'angular/blocks/arcadia_sheet.html'"></ng-include>
	<!-- #overview -->
 	<section id="book">
		<div class="container">
			<div class="row">
				<div class="col-md-9">
					<h2 class="title wow fadeInDown" data-wow-delay=".1s">Reference Book</h2>
					<h6 class="text-uppercase txt_lightest_grey txt_weight_300 wow fadeInLeft" data-wow-delay=".1s">Model-based System and Architecture Engineering with the Arcadia Method</h6>
					<br>
					<p class="wow fadeInDown" data-wow-delay=".1s">Arcadia is a system engineering method based on the use of
						models, with a focus on the collaborative definition, evaluation
						and exploitation of its architecture.</p>
					<p class="wow fadeInDown" data-wow-delay=".1s">This book describes the fundamentals of the method and its
						contribution to engineering issues such as requirements
						management, product line, system supervision, and integration,
						verification and validation (IVV). It provides a reference for the
						modeling language defined by Arcadia.</p>
					<p><a class="btn btn-default wow fadeInUp" data-wow-delay=".2s" href="https://www.elsevier.com/books/model-based-system-and-architecture-engineering-with-the-arcadia-method/voirin/978-1-78548-169-7" target="_blank">Read More</a></p>
				</div>
				<div class="col-md-3 wow fadeInLeft" data-wow-delay=".2s">
					<a href="https://www.elsevier.com/books/model-based-system-and-architecture-engineering-with-the-arcadia-method/voirin/978-1-78548-169-7" target="_blank"><img src="images/thumbs/thumb_book_jlvoirin.png"></a>
				</div>
			</div>
		</div>
	</section>
	<!--
        ==================================================
        All Diagrams - Intro Banner with Anchors
        ================================================== -->
	<section class="bg_indigo">
		<div class="container">
			<div class="row" id="anchors">
				<div class="col-md-12 text-center txt_white">
					<div class="block wow fadeInUp" data-wow-delay=".1s">
						<p>
							<a class="wow fadeInUp smooth-scroll" data-wow-delay=".1s"
								href="#arcadia-architecture" data-row="#arcadia-architecture">Architecture
								as prime engineering driver <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="#arcadia-mbse-method" data-row="#arcadia-mbse-method">Arcadia,
								a model-based engineering method <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="#arcadia-features" data-row="#arcadia-features">Noticeable
								features of Arcadia <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="#arcadia-customer-need-analysis"
								data-row="#arcadia-customer-need-analysis">Definition of the
								Problem - Customer Operational Need Analysis <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="#arcadia-system-need-analysis"
								data-row="#arcadia-system-need-analysis">Formalization of
								system requirements - System Need Analysis <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="#arcadia-logical-architecture"
								data-row="#arcadia-logical-architecture">Development of
								System Architectural Design - Logical Architecture (Notional
								Solution) <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="#arcadia-physical-architecture"
								data-row="#arcadia-physical-architecture">Development of
								System Architecture - Physical Architecture <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="#arcadia-components-requirements"
								data-row="#arcadia-components-requirements">Formalize
								Components Requirements - Contracts for Development and IVVQ <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="#arcadia-engineering" data-row="#arcadia-engineering">Co-Engineering,
								Sub-Contracting and Multi-Level Engineering <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="#arcadia-adoptation" data-row="#arcadia-adoptation">Adaptation
								of Arcadia to Dedicated Domains, Contexts, Etc. <i
								class="fa fa-arrow-circle-right" aria-hidden="true"></i>
							</a>
						</p>
						<p>
							<a class="wow fadeInUp" data-wow-delay=".9s"
								href="arcadia_capella_sysml_tool.html">Equivalences and
								Differences between SysML and Arcadia/Capella <i
								class="fa fa-arrow-circle-right" aria-hidden="true"></i>
							</a>
						</p>
					</div>
				</div>
			</div>
		</div>
	</section>
	<!--/#anchors-->
	<!--
        ==================================================
        Old content
        ================================================== -->
	<section id="service-page" class="arcadia-content">
		<div class="container">
			<div class="row">
				<p>Modern systems are subject to increasingly higher
					constraints regarding expected behavior and services, safety, security, performance, environment,
					human factors, etc. All these constraints are under the
					responsibility of different stakeholders, which need to be reconciled during the solution
					architectural design and development process.</p>
				<div id="arcadia-architecture"></div>
				<h3>Architecture as prime engineering driver</h3>
				<p>Architecture definition is a major part of engineering
					activities, and notably includes analyzing operational needs,
					structuring and decomposing the system, software, or hardware
					assets in order to</p>
				<ul>
					<li>Provide significant information for decision-makers and
						managers</li>
					<li>Ease the mastering of need, complexity, design and
						development</li>
					<li>Structure engineering in a well-defined, justified,
						technical frame</li>
					<li>Guide designers and developers to respect the product
						definition drivers.</li>
				</ul>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/architecture_benefits.png"><img
					alt="Architecture benefits"
					src="images/arcadia/architecture_benefits.png" width="50%"></a></p><br>
				<br>
				<div id="arcadia-mbse-method"></div>
				<h3>Arcadia, a model-based engineering method</h3>
				<p></p>
				<p>
					Arcadia is a <b>model-based engineering method for systems,
						hardware and software architectural design</b>. It has been developed
					by Thales between 2005 and 2010 through an iterative process
					involving operational architects from all the Thales business
					domains. Since 2018, Arcadia is registered as <a href="https://norminfo.afnor.org/norme/XP%20Z67-140/technologies-de-linformation-arcadia-methode-pour-lingenierie-des-systemes-soutenue-par-son-langage-de-modelisation/123795" target = "_blank">Z67-140 standard</a> by AFNOR, the French national organization for standardization.
				</p>
				<p>Arcadia promotes a viewpoint-driven approach (as described in
					<a href="http://www.iso-architecture.org/42010" target="_blank">ISO/IEC 42010</a>) and emphasizes a clear distinction between need and
					solution.</p>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/triptique.png"><img
					alt="Triptique" src="images/arcadia/triptique.png" width="50%"></a></p>
				<br> <br>
				<p>Perspectives and activities of the method have been defined in order to comply with a
					few Golden Rules:</p>
				<ul>
					<li>Besides requirement engineering, drive an <b>operational and functional/nonfunctional
							need analysis</b>, describing final user expectations, usage
						conditions, and realistic integration, verification and validation conditions
					</li>
					<li>Consider engineering through three mandatory interrelated
						activities, at the same level of importance:
						<ul>
							<li>Need analysis and modelling</li>
							<li>Architecture building and validation</li>
							<li>Requirements engineering</li>
						</ul>
					</li>
					<li>Check requirements against an <b>architectural design
							model</b> (early architecture) for robustness and feasibility
					</li>
					<li>Structure the system/hardware/software and build a <b>logical
							architecture</b>, by searching for the best <b>compromise between
							design drivers, (non-functional) constraints and viewpoints</b>. Each
						viewpoint deals with a specific concern such as functional
						consistency, interfaces, performances, real time, safety,
						security, integration, reuse, cost, risk, schedule, and the ease
						of adaptation (e.g. to changing requirements)
					</li>
					<li>Secure development and IVVQ through a <b>physical
							architecture</b> which deals with technical and development issues,
						favoring separation of concerns, efficient and safe component
						interaction (e.g. layered architecture, generic behavior and
						interaction patterns, component model, etc.)
					</li>
				</ul>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/phases_arcadia.png"><img
					alt="Phases" src="images/arcadia/phases_arcadia.png" width="50%"></a></p><br>
				<br>
				<div id="arcadia-features"></div>
				<h3>Noticeable features of Arcadia</h3>
				<br>
				<ul>
					<li>Models supporting enterprise-wide collaboration and
						co-engineering
						<ul>
							<li>An Eclipse Capella model is built for each Arcadia engineering
								phase. All of these models are articulated through model
								transformation, and related by justification links; they are
								processed as a whole for impact analysis, notably in case of
								required evolutions.</li>
							<li>Collaboration with engineering specialties is supported
								by modelled engineering viewpoints to formalize constraints and
								to evaluate architecture adequacy with each of them</li>
							<li>Collaboration with customer and subsystems engineering
								relies on co-engineered models (e.g. physical architecture),
								automatic initialization of need model for sub-systems, and
								impact analysis means between requirements and models of
								different engineering levels.</li>
							<li>Integration, verification, validation and qualification
								(IVVQ) are driven by user capabilities, functional chains and
								scenarios in the model, rather than by textual requirements</li>
							<li>Elaboration of product line variabilities and
								configurations is optimized and assisted based on operational
								market segmentation, commercial portfolio contents and
								architecture constraints/adaptations to product policy, all
								described in the model.</li>
						</ul>
					</li>
					<li>Tailored for architectural design
						<ul>
							<li>A domain-specific language (DSL) was preferred in order
								to ease appropriation by all stakeholders, usually not familiar
								with general-purpose, generic languages such as UML or SysML.</li>
						</ul>
					</li>
					<li>Dealing with complexity and size
						<ul>
							<li>Abstraction levels are in the DNA of Arcadia. Capella
								advanced mechanisms have been developed to mask and confine
								complexity, deal with model maintenance, large-scale modelling,
								model evolution and reuse.</li>
						</ul>
					</li>
					<li>Field-proven in real industrial situations
						<ul>
							<li>Arcadia is currently applied in various domains and organizations, in many countries, on very large or small projects, by
								thousands of users. A continuous challenging, improvement and
								adaptation of both the method and its supporting workbench has
								favored a very fast dissemination.</li>
						</ul>
					</li>
					<li>Open to domain-specific added value</li>
					<li>Adapted to several lifecycles and work sharing schemes</li>
				</ul>
				<p>Next paragraphs give a first description of major arcadia perspectives, for a given engineering level (system, sub-system, software or hardware part…).</p>
				<br>
				<div id="arcadia-customer-need-analysis"></div>
				<h3>Definition of the Problem - Customer Operational Need
					Analysis</h3>
				<p>
					The first perspective focuses on analyzing the customer needs and goals,
					expected missions and activities, far beyond system requirements.
					This analysis aims at ensuring <b>adequate system definition
						with regard to its real operational use and IVVQ conditions</b>.
				</p>
				<p>Outputs of this engineering phase mainly consist of an
					“operational architecture” which describes and structures the need
					in terms of actors/users, their operational capabilities and
					activities (including operational use scenarios with dimensioning
					parameters, and operational constraints such as safety, security,
					lifecycle, etc.).</p>
				<p>Watch the video below, illustrating this architecture level with a commented example: the level-crossing traffic control.</p>
				<div class="row">
	                <div class="col-md-12 text-center">
						<p><a class="fancybox" href="https://www.youtube.com/embed/TawT_G9DNNc" data-fancybox-type="iframe"><img src="images/arcadia/mockups/arcadia-customer-operational-need-analysis.png" alt="" /></a></p>
					</div>
                </div>
				<div id="arcadia-system-need-analysis"></div>
				<h3>Formalization of system requirements - System Need Analysis</h3>
				<p>
					The second perspective focuses on the <b>system itself</b>, in order to
					define <b>how it can satisfy the former operational need</b>, along
					with its expected behavior and qualities. The following elements
					are created during this step: Functions (or services) to be supported and related
					exchanges, non-functional constraints (safety, security, etc.);
					performance allocated to system boundary; role sharing and
					interactions between system and operators; scenarios of usage, etc.
				</p>
				<p>
					The main goal at this stage is to <b>check the feasibility of
						customer requirements</b> (cost, schedule, technology readiness, etc.)
					and if necessary, to provide means to renegotiate their content.
					The functional need analysis can be completed by an initial system
					architectural design model in order to examine requirements against
					this architecture and evaluate their cost and consistency.
				</p>
				<p>Outputs of this engineering phase mainly consist of system
					functional need descriptions (functions, functional chains,
					scenarios), interoperability and interaction with the users and
					external systems (functions, exchanges plus non-functional
					constraints), and system requirements.</p>
				<p>
					Note that these two phases, which constitute the first part of
					architecture building, <b>"specify" the subsequent design</b>, and
					therefore should be approved/validated with the Customer.
				</p>
				<p>Watch the video below, illustrating this architecture level with a commented example: the level-crossing traffic control.</p>
				<div class="row">
	                <div class="col-md-12 text-center">
						<p><a class="fancybox" href="https://www.youtube.com/embed/UESXFZFbi5Q" data-fancybox-type="iframe"><img src="images/arcadia/mockups/arcadia-system-need-analysis.png" alt="" /></a></p>
					</div>
                </div>
				<div id="arcadia-logical-architecture"></div>
				<h3>Definition of solution architecture - Logical
					Architecture (Notional Solution)</h3>
				<p>
					This third perspective aims at building a
					<b>coarse-grained component breakdown of the system</b> carrying
					most important engineering decisions, and which is unlikely to be
					challenged later in the development process. Starting from previous
					functional and non-functional need analysis, a first definition of
					the solution expected behavior is performed (using functions,
					interfaces, data flows, behaviors…). In order to embed these
					functions, one or several decompositions of the system into logical
					components are to be built, each function being allocated to one
					component. These logical components will later tend to be the basic
					decomposition for development/sub-contracting, integration, reuse,
					product and configuration management item definitions (but other
					criteria will be taken into account to define the boundaries for
					these items)
				</p>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/composant-functions.png"><img
					alt="Functions"
					src="images/arcadia/composant-functions.png" width="50%"></a></p> <br>
				<br>
				<p>
					The building process has to take into account <b>architectural
						drivers and priorities, viewpoints and associated design rules</b>,
					etc. For the component breakdown to be stable in further engineering
					phases, all major (non-functional) constraints (safety, security,
					performance, IVV, cost, non-technical, Etc.) are taken into account
					and compared to each other so as to find the best trade-off. This
					method is described as "viewpoint-driven", where viewpoints
					formalize the way these constraints impact the system architecture.
				</p>
				<p>Outputs of this engineering phase consist of the selected
					logical architecture which is described by a functional
					description, components and justified interfaces definition,
					scenarios, modes and states, along with the formalization of all
					viewpoints and the way they are taken into account in the
					components design.</p>
				<p>Since the architecture has to be validated against the need
					analysis, links with requirements and operational scenarios are
					also to be produced.</p>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/arcadia_viewpoints.png"><img
					alt="Viewpoints"
					src="images/arcadia/arcadia_viewpoints.png" width="50%"></a></p><br>
				<p>Watch the video below, illustrating this architecture level with a commented example: the level-crossing traffic control.</p>
				<div class="row">
	                <div class="col-md-12 text-center">
						<p><a class="fancybox" href="https://www.youtube.com/embed/4jSoVNb4gaQ" data-fancybox-type="iframe"><img src="images/arcadia/mockups/arcadia-logical-architecture.png" alt="" /></a></p>
					</div>
                </div>
				<br>
				<div id="arcadia-physical-architecture"></div>
				<h3>Definition of solution architecture - Physical Architecture</h3>
				<p>
					The fourth perspective has the same intent as the logical architecture
					building, except that it defines the “final” architecture of the
					system at this level of engineering. Once this is done the model is
					considered <b>ready to develop</b> (by "lower" engineering levels).
					Therefore, it introduces further details and design decisions,
					rationalization, architectural patterns, new technical services and
					behavioral components, and makes the logical architecture vision
					evolve according to implementation, technical and technological
					constraints and choices. It notably introduces resource components
					that will embed former behavioral components. The same
					viewpoint-driven approach as for logical architecture building is
					used.
				</p>
				<p>Outputs of this engineering phase consist of the selected
					physical architecture which includes components to be produced,
					formalization of all viewpoints and the way they are taken into
					account in the components design. Links with requirements and
					operational scenarios are also produced.</p>
				<p>Watch the video below, illustrating this architecture level with a commented example: the level-crossing traffic control.</p>
				<div class="row">
	                <div class="col-md-12 text-center">
						<p><a class="fancybox" href="https://www.youtube.com/embed/1EEcDtLAiXk" data-fancybox-type="iframe"><img src="images/arcadia/mockups/arcadia-physical-architecture.png" alt="" /></a></p>
					</div>
                </div>
				<div id="arcadia-components-requirements"></div>
				<h3>Building Strategy - Contracts for
					Development and IVVQ</h3>
				<p>The fifth and last perspective is a contribution to an EPBS
					(End-Product Breakdown Structure), and models describing
					specification of each sub-system, hardware or software component;
					it takes benefits from the former architectural work, to formalize
					the component requirements definition and prepare a secured IVVQ.</p>
				<p>All previous hypotheses and imposed constraints associated to
					the system architecture and components are summarized and checked
					here.</p>
				<p>
					Outputs from this engineering phase are mainly new models describing <b>component
						integration contracts</b>, collecting all necessary expected properties
					for each component to be developed.
				</p>
				<div id="arcadia-engineering"></div>
				<h3>Co-Engineering, Sub-Contracting and Multi-Level Engineering</h3>
				<p>
					The physical architecture is the preferred place for <b>co-engineering
						between systems, software, and hardware stakeholders</b>.
				</p>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/coengineering-and-subcontracting.png"><img
					alt="Coengineering"
					src="images/arcadia/coengineering-and-subcontracting.png"
					width="50%"></a></p><br> <br>
				<p>
					Arcadia can be applied in a <b>recursive way at each level of
						system breakdown</b>, so that a subsystem of the current system of
					interest becomes the system at the next level of interest, until
					single discipline subsystems or procurement items or COTS are
					identified.
				</p>
				<p>The physical architecture at a given level of interest
					defines the components to be developed at the level above,
					according to the corresponding component integration contract.
					Level "n" need analysis is restricted to each component scope and
					neighborhood, in order to define its IVVQ context while preserving
					Intellectual Property constraints.</p>
				<p class="text-center"><a rel="gallery" class="fancybox"
					href="images/arcadia/multi-level.png"><img
					alt="Multi-level" src="images/arcadia/multi-level.png" width="50%" /></a></p>
				<br> <br>
				<div id="arcadia-adoptation"></div>
				<h3>Adaptation of Arcadia to Dedicated Domains, Contexts, Etc.</h3>
				<p>
					Beyond the transverse, common architectural design work, each
					organization, in the field of its own business, constraints and
					know-how, should <b>tailor the method steps by adapting them to
						their own domains, products and programs</b>. This includes:
				</p>
				<ul>
					<li>Definition of a reference architecture (including
						architecture drivers) for each key product and software element</li>
					<li>Definition of appropriate viewpoints adapted to the
						domain, product and architecture</li>
					<li>Definition of complementary dedicated engineering rules</li>
					<li>Selection of relevant architectural patterns for the
						domain, product, and technologies considered</li>
					<li>Setting up of models, based on the reference architecture
						and viewpoints, and basis for simulation, early validation,
						automation of the design process (key for productivity gains)</li>
					<li>Definition of adjustment rules for each of its contexts</li>
					<li>Dissemination in the engineering teams (training,
						coaching)...</li>
				</ul>
				<h3>Adaptation to different Lifecycles</h3>
				<p>
					The recommended method described in this document takes best
					benefit from a <b>top-down approach</b>:
				</p>
				<ul>
					<li>Starting from operational and system need to define and validate
						requirements</li>
					<li>Building a "technology neutral" logical architecture
						dealing with non-functional constraints</li>
					<li>Then specifying technical functions and services of a
						physical architecture to implement it in the best way</li>
				</ul>
				<p>Yet many constraints which need to be taken into account
					arise from the industrial context:</p>
				<ul>
					<li>Technical or technological limits</li>
					<li>Available technology, COTS</li>
					<li>Existing legacy to be reused</li>
					<li>Product policy imposing the use of given hardware boards,
						software components...</li>
					<li>Industrial constraints such as available skills, the
						necessity to sub-contract, and export control...</li>
				</ul>
				<p>
					This is the reason why Arcadia can be applied according to several
					lifecycles and work sharing schemes. Great care has been taken in
					the method, the language and the Capella workbench to not impose one
					single engineering path (e.g. top-down) but to be adaptable to many
					lifecycles: <b>Incremental, iterative, top-down, bottom-up,
						middle-out</b>, Etc.. The method is inherently <b>iterative</b>.
				</p>
				<p>Examples of iterations or non-linear courses are:</p>
				<ul>
					<li>Need analysis starting from requirements, due to a lack of
						operational knowledge (a kind of reverse engineering of
						operational need)</li>
					<li>Requirements analysis anticipating logical or even
						physical architecture, to check for feasibility by
						defining/confronting to an early architecture</li>
					<li>Logical architecture anticipating (part of) physical
						architecture, e.g. to check for performance issues</li>
					<li>Physical architecture adapting to subcontracting
						constraints, or built from assembling reusable, existing
						components</li>
					<li>Components contract definition iterating on physical
						architecture to secure integration and refine contract parameters</li>
				</ul>
			</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>