<!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 Day Munich 2019</title>
	<meta name="description"
		content="Capella Day is a one-day event dedicated to Capella open source model-based systems engineering tool.">
	<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 munich">
		<div class="container">
			<div class="row">
				<div class="col-md-12 text-center">
					<div class="block wow fadeInUp" data-wow-delay=".3s">
						<section class="cd-intro">
							<h1 class="wow fadeInUp animated" data-wow-delay=".4s">
								Capella Day Munich 2019<br>
							</h1>
						</section> <!-- cd-intro -->
						<h2 class="wow fadeInUp animated" data-wow-delay=".6s">
							The 16th of September, 2019<br />
							Thanks everyone !
						</h2>
						<p></p>
						<a href="http://bit.ly/Slides_CapellaDay2019" target="_blank"
							class="btn btn-default btn-contact wow fadeInDown" data-wow-delay=".7s"
							data-wow-duration="500ms">Request access to the slides</a>
					</div>
				</div>
			</div>
		</div>
	</section>
	<!--/#intro_banner-->


	<section id="overview">
		<div class="container">
			<div class="row">
				<p>Capella Day was held on September 16th at Munich. 80 participants, 16 speakers, 14 countries represented: thanks everyone for this great third edition!</p>
				<p>You missed it and want to know what happened there? Please read this <a href="https://news.obeo.fr/en/post/what-happened-at-capella-day-munich">news</a> and <a href="https://www.flickr.com/photos/136734847@N08/albums/72157711159793546">discover the photos</a>.</p>
				<p>Stay tuned to know when and where the next Capella Day will be organized by following the <a href="https://twitter.com/capella_arcadia">@capella_arcadia Twitter account</a>, the Capella LinkedIn account, or joining the <a href="https://www.linkedin.com/groups/8605600">LinkedIn discussion group about Capella</a>.</p>
				<p>Feel free to check <a href="http://www.eclipse.org/capella/">the Capella official website</a> and its upcoming events section.</p>
				<p>You can also discover the slides (<a href="http://bit.ly/Slides_CapellaDay2019" target="_blank">request access to the slides</a>). Some may be missed, but we will add them as soon as we are authorized to publish.</p>
				<br />
				<p>&nbsp;</p>
				<img src="images/capella_day/overview_capellaDay_munich2019.png">
				
				<h2 class="title wow fadeInDown" data-wow-delay=".3s">About</h2>
				<h3>What was Capella Day?</h3>
				<p>This one-day event, organized by Thales and Obeo, brought together the community of Capella and Arcadia:</p>
				<ul>
					<li>creators of this innovative systems engineering solution,</li>
					<li>providers of Capella add-ons and services,</li>
					<li>MBSE experts and industrial users.</li>
				</ul>
				<h3>What is Capella?</h3>
				<p>Capella is an open-source and field-proven Model-Based Systems Engineering (MBSE) solution to
					successfully design systems architecture.</p>
				<p>It provides systems, software and hardware architects with rich methodological guidance relying on
					Arcadia, a comprehensive model-based engineering method based on both industrial experimentations
					and system engineers' feedback</p>
				<p>Natively supporting Arcadia , Capella can be customized to fit the specific needs of many industrial
					domains.</p>
				<p><a href="https://www.eclipse.org/capella/">Learn more <i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a></p>

				<h3>Why you should attend?</h3>
				<p>Capella Day is your opportunity to meet the <a href="https://www.eclipse.org/capella/industry-consortium.html">Capella ecosystem's members</a> and to learn from their expertise.</p>
				<p>Deepen your knowledge of the Capella workbench or, if you're new to the <a href="https://www.eclipse.org/capella/community.html">community</a>, discover the latest plugins and extensions that will unleash the potential of Capella: documents generation, collaborative work or simulation.</p>
				<p>Unfortunately, this Capella Day edition is over. Feel free to check the <a href="http://www.eclipse.org/capella/">Capella official website</a> and its upcoming events section. You may also be interested by the slides.</p>
				<p>If so, <a href="http://bit.ly/Slides_CapellaDay2019" target="_blank">please request access</a> and we will send them to you.</p>
				<h3>Previous editions</h3>
				<ul>
					<li><a href="https://wiki.eclipse.org/Capella_Day_Stuttgart_2018" target="_blank">Capella Day
							Stuttgart 2018</a></li>
					<li><a href="https://www.eclipsecon.org/france2017/capella-day" target="_blank">Capella Day Toulouse
							2017</a></li>
				</ul>
			</div>
		</div>
	</section>


	<section id="program">
		<div class="container">
			<div class="row">
				<h2 class="title wow fadeInDown" data-wow-delay=".3s">Agenda</h2>




				<table class="table table-striped wow fadeInDown" data-wow-delay=".5s">
					<thead>
						<tr>
							<th width="10%"></th>
							<th class="txt_indigo" width="50%">Talks</th>
							<th class="txt_indigo">Speakers</th>
						</tr>
					</thead>
					<tbody>
						<tr>
							<td class="txt_indigo"><strong>08:45 - 09:15</strong></td>
							<td><i>Coffee</i></td>
							<td></td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>09:15 - 09:30</strong></td>
							<td class="txt_indigo"><strong>Welcome and Introduction</strong></td>
							<td>
								<ul>
									<li>Etienne Juliot, <b>Obeo</b></li>
								</ul>
							</td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>09:30 - 10:30</strong></td>
							<td class="txt_indigo">
								<p><strong>Capella and Arcadia</strong></p>
									<ul>
										<li>Introduction to Capella and Arcadia</li>
										<li>Capella updates and roadmap</li>
										<li><a href="capella_day_munich_2019.html#talk_thales">Augmenting requirements
												with models to improve the articulation between system engineering
												levels and optimize V&V practices</a></li>
									</ul>
							</td>
							<td>
								<p>&nbsp;</p>
								<ul>
									<li>Stéphane Bonnet, <b>Thales Corporate Engineering</b></li>
								</ul>
							</td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>10:30 - 11:00</strong></td>
							<td><i>Break</i></td>
							<td></td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>11:00 - 12:20</strong></td>
							<td class="txt_indigo">
								<p><strong>Community and Ecosystem | Session 1</strong></p>
								<ul>
									<li><a href="capella_day_munich_2019.html#talk_framatome">Feedback on deployment of Capella at Framatome</a></li>
									<li>Feedback on deployment of Capella at RATP</li>
									<li><a href="capella_day_munich_2019.html#talk_ansys">Integrating Capella, SCADE and medini analyze, for MBSE, Embedded SW Development and Safety Analysis</a></li>
								</ul>
							</td>
							<td>
								<p>&nbsp;</p>
								<ul>
									<li>Valéry Teguiak & Hondjack Dehainsala, <b>Framatome</b></li>
									<li>Matthieu Connen & Maxime Piot, <b>RATP</b></li>
									<li>Thierry Lesergent, <b>ANSYS</b></li>
								</ul>
							</td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>12:30 - 13:30</strong></td>
							<td><i>Lunch</i></td>
							<td></td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>13:30 - 15:10</strong></td>
							<td class="txt_indigo">
								<p><strong>Community and Ecosystem | Session 2</strong></p>
									<ul>
										<li><a href="capella_day_munich_2019.html#talk_siemens_plm">Capella integration with Teamcenter</a></li>
										<li><a href="capella_day_munich_2019.html#talk_glaway">Model Execution and
												System Simulation in Capella</a></li>
										<li><a href="capella_day_munich_2019.html#talk_obeo">Integrating Capella with
												your own ecosystem of tools</a></li>
										<li><a href="capella_day_munich_2019.html#talk_artal">Providing early timing
												analysis of the system design</a></li>
										<li><a href="capella_day_munich_2019.html#talk_siemens_ct">Model-based safety
												analysis on Capella using Component Fault Trees (CFTs)</a></li>
									</ul>
							</td>
							<td>
								<p>&nbsp;</p>
									<ul>
										<li>Christoph Marhold, <b>Siemens PLM Software</b></li>
										<li>Renfei Xu & Wenhua Fang, <b>Glaway</b></li>
										<li>Laurent Delaigue, <b>Obeo</b></li>
										<li>Benoît Viaud, <b>Artal</b></li>
										<li>Marc Zeller, <b>Siemens Corporate Technology</b></li>
									</ul>
							</td>
							<td></td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>15:10 - 15:40</strong></td>
							<td><i>Break</i></td>
							<td></td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>15:40 - 16:40</strong></td>
							<td class="txt_indigo">
								<p><strong>Community and Ecosystem | Session 3</strong></p>
									<ul>
										<li><a href="capella_day_munich_2019.html#talk_maplesoft">An Excel-based
												Systems-Engineering Tool for Knowledge Sharing and Collaboration across
												the Enterprise</a></li>
										<li><a href="capella_day_munich_2019.html#talk_pure_systems">MBSE & PLE: Systematic Reuse of Capella Models with pure::variants</a></li>
										<li><a href="capella_day_munich_2019.html#talk_the_reuse_company">Capella
												integration with RAT - Authoring Tools</a></li>
									</ul>
							</td>
							<td>
								<p>&nbsp;</p> 
									<ul>
										<li>Bharani Mohan & Paul Goossens, <b>MapleSoft</b></li>
										<p>&nbsp;</p>
										<li>Robert Hellebrand, <b>pure-Systems</b></li>
										<li>Jose Fuentes, <b>The Reuse Company</b></li>
									</ul>
							</td>
							<td></td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>16:40 - 17:20</strong></td>
							<td class="txt_indigo">
								<p><strong>Community and Ecosystem | Panel</strong></p>
								<p>During this <b>panel</b>, you and the speakers will discuss about Capella adoption
									and perspectives.</p>
							</td>
							<td>
								<p>&nbsp;</p>
								<ul>
									<li>All speakers</li>
								</ul>
							</td>
						</tr>
						<tr>
							<td class="txt_indigo"><strong>17:20 - 17:50</strong></td>
							<td><i>Closing Cocktail</i></td>
							<td></td>
						</tr>
					</tbody>
				</table>
			</div>
		</div>
	</section>


	<section id="talks">
		<div class="container">
			<div class="row">
				<h2 class="title wow fadeInDown" data-wow-delay=".3s">Talks</h2>
				<h3 id="talk_thales">Augmenting requirements with models to improve the articulation between system
					engineering levels and optimize V&V practices</h3>
				<p>Model-based systems engineering has developed significantly over the last few years, resulting in an
					increased usage of models in systems specification and architecture description. The question of the
					positioning of requirement engineering versus MBSE is a recurrent one.</p>
				<p>This talk describes one vision of this articulation where textual and model requirements actually
					complete each other. The results are improved contracts across engineering levels and more
					formalized V&V practices.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/stephane_bonnet.jpg" width="120"></td>
						<td>
						<h4>Stéphane Bonnet, Thales Corporate Engineering</h4>
						<i>Stéphane Bonnet is in charge of Thales Corporate MBSE Coaching and Design Authority of
								the Capella open source modeling solution. For the last ten years, he has led the
								development of Capella and has been an active contributor to the Arcadia model-based
								method for systems, hardware and software architectural design. In Thales, he is
								animating a wide community of modeling experts from all domains and countries to
								investigate low-maturity modeling topics, capture end-user needs, and orient method and
								workbench roadmaps.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_framatome">Feedback on deployment of Capella at Framatome</h3>
				<p>Open source software like Capella comes with advantages like the easy way to extend or customize it and drawbacks including support to users especially when they are working in a collaborative way. This presentation will share how Capella has been deployed in Framatome so that systems engineer/architect do not care much about technical issues but remain focus on their business.</p>
				<p>Furthermore, in a context where many companies have their data described in excel files, XLS Pivot (part our MBSE Suite tool), is a generic MBSE solution developed by Framatome on top of Capella to help users to exchange data from Excel to Capella and vice versa. This presentation will show XLS Pivot in action. </p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/valery_teguiak.jpg" width="120"></td>
						<td>
						<h4>Valéry Teguiak, Framatome</h4>
						<i>Valéry Teguiak works as R&D Engineer Consultant at Framatome where he leads software engineering projects on top of Capella. He is a software engineer and obtained a PhD from the ISAE-ENSMA for his work on Data Engineering and Metamodeling-based Solution.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_ansys">Integrating Capella, SCADE and medini analyze, for MBSE, Embedded SW Development and Safety Analysis</h3>
				<p></p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/thierry_lesergent.jpg" width="120"></td>
						<td>
						<h4>Thierry Le Sergent, ANSYS</h4>
						<i>Thierry Le Sergent is Product Manager for ANSYS's SCADE Architect product. His focus is on model-based system & software engineering tools for the development of critical embedded systems.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_siemens_plm">Capella integration with Teamcenter</h3>
				<p>The main reason we do product architecture is to communicate to downstream product development what they need to build, thus the need to integrate the Capella product architecture with the product lifecycle through PLM (Product Lifecycle Management).  Siemens’ Teamcenter PLM is used by millions of developers around the world in thousands of organizations.  Capella is being integrated with Teamcenter enabling it to actively participate in the product lifecycle to drive the entire product development process.</p>
				<p>This session will provide an update on Siemens’ PLM integration progress and demonstrate the value of a Capella enabled product lifecycle.</p>
				<p>&nbsp;</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/icons/icon_users.png" width="120"></td>
						<td>
						<h4>Christoph Marhold, Siemens PLM Software</h4>
						</td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_glaway">Model Execution and System Simulation in Capella</h3>
				<p>A common need in system architecture design is to verify that if the architect is correct and can
					satisfy its requirements. Execution of system architect model means to interact with state machines
					to test system’s control logic. It can verify if the logical sequences of functions and interfaces
					in different scenarios are desired.</p>
				<p>However, only sequence itself is not enough to verify its consequence or output. So we need each
					function to do what it is supposed to do during model execution to verify its output, and that is
					what we called “system simulation”.</p>
				<p>This presentation introduces how we do model execution in Capella, and how to embed digital mockup
					inside functions to do “system simulation” with a higher confidence.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/renfei_xu.jpg" width="120"></td>
						<td>
						<h4>Renfei Xu, Glaway</h4>
						<i>Renfei Xu is the technical manager of MBSE solution in Glaway. He has participated in
								many pilot projects of MBSE in areas like Engine Control, Avionics, Mechatronics and so
								on. In recent years, he is responsible for the deployment of MBSE using Capella and
								ARCADIA methodology in a Radar research institute.</i></td>
					</tr>
				</table>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/wenhua_fang.jpg" width="120"></td>
						<td>
						<h4>Wenhua Fang, Glaway</h4>
						<i>Wenhua Fang is the Director of Systems Engineering in Glaway. He has more than 12 years
								of working experience in SE.<br />
								He is responsible for more than 10 implementation projects of MBSE in areas like
								Aircraft, Engine Control, Avionics, Automotive and so on. In recent years, he leads the
								team to deploy MBSE in China(including using Capella and ARCADIA methodology).</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_obeo">Integrating Capella with your own ecosystem of tools</h3>
				<p>The current industrial trends related, among others, to digital twins or large scale systems of
					systems, drive companies to using MBSE tools such as Capella. However, these tools have to be part
					of the overall ecosystem of tools used by such companies (e.g. complex systems manufacturers).</p>
				<p>One example is the integration with a PLM solution, that we will illustrate by explaining how we have
					integrated Capella and Teamcenter by developping System Modeling Workbench.</p>
				<p>Beyond technical aspects (build the product, managing its lifecycle with regards to constraints
					brought by the market and by the open source processes, etc.) we will also discuss the organization
					of the collaboration needed to perform this kind of integration project.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/laurent_delaigue.jpg" width="120"></td>
						<td>
						<h4>Laurent Delaigue, Obeo</h4>
						<i>Laurent Delaigue has been working in the field of model engineering for 15 years. As a
								modeling consultant at Obeo for 10 years, he participates in numerous modeling projects
								generally based on open-source technologies such as Acceleo, Sirius or Capella.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_artal">Providing early timing analysis of the system design</h3>
				<p>When designing real-time systems, one issue is to grant that the system will always behave properly
					within the expected time constraints.<br />
					By capturing the design choices in Capella (periodic/sporadic events, precedence relation between
					tasks, network communication between resources, mutual exclusion resources, etc.), Tideal viewpoint
					not only allows to compute the worst-case execution time for end-to-end flows traversing the system
					but also provides some feedback to the architect to better understand the temporal behavior of the
					system.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/benoit_viaud.jpg" width="120"></td>
						<td>
						<h4>Benoit Viaud, Artal</h4>
						<i>Benoit Viaud leads Artal’s System Engineering unit. He initiated the creation of Citrus,
								a one-stop-shop engineering framework for simulation and is deeply involved in its
								deployment in Airbus. He also carries out coaching and consulting activities around
								Capella.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_siemens_ct">Model-based safety analysis on Capella using Component Fault Trees (CFTs)</h3>
				<p>The importance of mission or safety-critical software systems in many application domains of embedded
					systems is continuously growing, and so is the effort and complexity for reliability and safety
					analysis. Model-based system engineering (MBSE) is currently one of the key approaches to cope with
					increasing system complexity.</p>
				<p>With Component Fault Trees (CFTs) there is a model- and component-based methodology for safety
					analysis, which extends the advantages of model-based development to safety & reliability
					engineering. In this talk, we demonstrate how to ease the development of safety-critical systems in
					industrial practice by extending MBSE in Capella with model-based safety analysis using Component
					Fault Tree methodology.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/marc_zeller.jpg" width="120"></td>
						<td>
						<h4>Marc Zeller, Siemens Corporate Engineering</h4>
						<i>Marc Zeller works as a research scientist at Siemens AG, Corporate Technology, in Munich
								since 2014. His research interests are focused on the model-based safety and reliability
								engineering of complex software-intensive embedded systems. Marc Zeller studied Computer
								Science at the Karlsruhe Institute of Technology (KIT) and graduated in 2007. He
								obtained a PhD from the University of Augsburg in 2013 for his work on self-adaptation
								in networked embedded systems at the Fraunhofer Institute for Embedded Systems and
								Communication Technologies ESK in Munich.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_maplesoft">An Excel-based Systems-Engineering Tool for Knowledge Sharing and Collaboration
					across the Enterprise</h3>
				<p>MapleMBSE is an Excel-based tool that makes it easy for every stakeholder to engage with the Systems
					Engineering project without requiring them to be an expert in your primary SE tools.<br />
					MapleMBSE makes broad engagement possible with Excel-based, task-specific interfaces for each
					activity in the systems design process.<br />
					By giving all stakeholders access to the process through a live, two-way connection to systems
					model, you can ensure that all stakeholders can collaborate through the “single source of truth”,
					allowing them to work faster, avoid errors, and reduce unbudgeted costs.<br />
					This presentation will demonstrate how MapleMBSE can be used for several use-cases on the Capella
					platform, based on Maplesoft’s experience with NASA JPL in the US and Nissan in Japan.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/bharani_mohan.jpg" width="120"></td>
						<td>
						<h4>Bharani Mohan, Maplesoft</h4>
						<i>Bharani is an MBSE specialist, and facilitates the improvement of the overall user
								experience throughout the model-based system engineering process.<br />
								He works with customers to enhance their use of Maplesoft’s MapleMBSE platform,
								providing guidance and assisting with issues. He also supports the development of
								specific MapleMBSE features to encourage broader adoption.<br />
								With a background in Aerospace Engineering, Bharani has experience applying MBSE design
								methodologies in conceptual design of aircraft systems architecture, and translating
								design requirements into system architecture. </i></td>
					</tr>
				</table>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/paul_goossens.jpg" width="120"></td>
						<td>
						<h4>Paul Goossens, Maplesoft</h4>
						<i>Paul Goosseens is Vice President MBSE Solutions at Maplesot. A mechanical engineer by
								background, he has over 25 years of experience in technical and business management,
								primarily in advanced computational technologies for engineering applications.<br />
								He has built a strong reputation as an expert in modeling, simulation and analysis of
								complex multi-domain systems for virtual prototyping and control software testing,
								spending a good part of his career promoting model-based methodologies within the
								automotive, aerospace and manufacturing industries.<br />
								He currently manages the Model-based Systems Engineering business unit at Maplesoft,
								charged with executing strategies for the development of new markets, product planning,
								sales and marketing support, service business development, and strategic partnerships.
							</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_pure_systems">MBSE & PLE: Systematic Reuse of Capella Models with pure::variants</h3>
				<p>In domains that deal with the development of complex systems consisting of software and hardware it is often a challenge to find an efficient and holistic reuse strategy for existing engineering assets that allows to keep the engineering competitiveness high even though a growing number of markets and specific customer needs shall be covered by a product family.
				<br/>Product Line Engineering (PLE) is a well-known approach to address this challenge. In this session we will cover how PLE and MBSE can be brought together using the open-source MBSE solution Capella in combination with the Variant Management tool pure::variants to implement a systematic reuse of system architecture across multiple product variants.</p>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/robert_hellebrand.jpg" width="120"></td>
						<td>
						<h4>Robert Hellebrand, pure-systems</h4>
						<i>Robert Hellebrand is a Field Application Engineer at pure-systems GmbH, where he helps customers from automotive, aerospace, defence and other domains with their challenges in systematic reuse of engineering assets and the transition from project-oriented development towards feature model-based product line engineering with pure::variants.<br/>
						Previously, Robert worked on the topic of variant management as a research assistant at the Fraunhofer Institute for Experimental Software Engineering.</i></td>
					</tr>
				</table>
				<p>&nbsp;</p>
				<h3 id="talk_the_reuse_company">Capella integration with RAT - Authoring Tools</h3>
				<p>When it comes to writing and managing requirements aligned with models in Capella, RAT, the Rich Authoring Tool from the REUSE Company, is the perfect companion. 
				RAT provides AI and Natural Language Processing (a complete Semantic approach) to <b>write the perfect requirements</b>. The following functions are offered by RAT for Capella plug-in:</p>
				<ul>
					<li><b>Quality</b>: real-time quality assessment of rules such as the
						ones defined in the INCOSE Guide for Writing Requirements, the
						NASA Handbook, the ECSS rules followed by the Space industry, or
						others.</li>
					<li><b>Consistency</b>: using a set of patterns to come out with a
						consistent structure for your requirements across the
						organization.</li>
					<li><b>Requirements-Models traceability and integration</b>:
						requirements and models will always be integrated. RAT offers the
						names of the models in Capella to fill the placeholders as defined
						and agreed in the patterns, keeping a link to automatically change
						your requirements when the elements are renamed or edited.</li>
					<li><b>Round-trip</b>: bidirectional connectivity between Capella and
						DOORS, allowing adding or editing requirements in IBM DOORS
						seamlessly using the elements defined in a Capella model, make the
						most of the capabilities offered by DOORS and then synchronize
						your requirements back to Capella keeping all the references to
						the Capella elements and sections.</li>
					<li><b>Accessibility</b>: RAT aggregates requirements in a <b>SMART Grid</b>
						in Capella. Different grids can be shown based on the selection of
						elements in the model. The grid provides shorting, filtering,
						advanced search, or quality rates for each elements, among many
						other functionalities.</li>
					<li><b>Integration with the SES Suite of REUSE Company</b>: RAT for
						Capella plug-in is fully integrated with RQA - Quality Studio to
						tailor the quality rules, or check the completeness and
						consistency analysis between requirements and models. RAT for
						Capella is also fully integrated with KM – Knowledge Manager to
						provide additional content to your data dictionary or to tailor
						the patterns used by RAT.</li>
				</ul>
				<table style="margin:10px">
					<tr>
						<td class="vertical_align_top" width="10%"><img src="images/capella_day/jose_fuentes.jpg" width="120"></td>
						<td>
						<h4>José Fuentes, The Reuse Company</h4>
						<i>José Fuentes obtained his degree in Information Science at the Carlos III University of
								Madrid (Spain).<br />After getting his degree, he founded, together with other 5
								colleagues, an SME with the vision of streamlining the software development processes.
								After some years as product manager for some software tools aimed at software engineers,
								he and his company turned into the systems engineering discipline.<br />His professional
								experience is focused on the Management of software development projects, as well as
								training and consultancy activities related to project management (PMP), CMMI,
								requirements management…
								For more than 10 years, he’s been leading the team of developers in charge of creating
								the suite of tools Requirements Quality Suite in The REUSE Company.<br />This includes
								from the research stage to the commercialization stage. He has participated as the main
								company researcher in several EU projects like:
								AUTOSoft (4FP: SPRIT Project 25762) aiming to provide tools and methods for software
								reuse; and CRYSTAL (ART Call 2012: 332830) taking up the challenge to establish and push
								forward an Interoperability Specification (IOS) and a Reference Technology Platform
								(RTP) as a European standard for safety-critical systems. AMASS (ECSEL no 692474) in the
								field of assurance and certification of Cyber-Physical Systems; or REVAMP2 (ITEA3 No.
								15010) aiming to conceive new generations of Product Lines.
								José is now COO at The REUSE Company, dealing with customers and partners in the fields
								of aerospace, defence, automotive, railway…<br />José is also actively collaborating
								with INCOSE. His main activity within INCOSE are: Member of the board of AEIS, the
								Spanish Chapter of INCOSE ; Technical director of AEIS ; Managing relationships with
								CABs at AEIS ; Main contributor to the INCOSE Guide for Writing Requirements ; Member of
								the Requirements and Ontology Working Groups</i></td>
					</tr>
				</table>
			</div>
		</div>
	</section>

	<section id="register">
		<div class="container">
			<div class="row">
				<h2 class="title wow fadeInDown" data-wow-delay=".3s">Registration</h2>
				<p>Capella Day, is organized in conjunction with <a href="https://modelsconf19.org/"
						target="_blank">MODELS Conference 2019</a>.</p>
				<p>Price: <b>90€</b> (excl. taxes).</p>
				<p></p>
				<!-- <p> <a href="https://www.eventbrite.fr/e/billets-capella-day-2019-at-munich-64720885912"
						class="btn btn-default btn-contact wow fadeInDown" data-wow-delay=".7s"
						data-wow-duration="500ms">Register Now</a></p> -->
			</div>
		</div>
	</section>

	<section id="venue">
		<div class="container">
			<div class="row">
				<h2 class="title wow fadeInDown" data-wow-delay=".3s">Venue</h2>
				<p>Capella Day, will be held at the <b><a
							href="https://www.accorhotels.com/gb/hotel-3280-novotel-munich-city/index.shtml#section-location"
							target="_blank">Novotel Munich City</a></b>, Germany.</p>
			</div>
		</div>
	</section>

	<section id="partners">
		<div class="container">
			<div class="row">
				<h2 class="title wow fadeInDown" data-wow-delay=".3s">Partners</h2>
				<p>Capella Day is organized by Obeo and Thales</p>
				<p></p>
				<a href="/industry-consortium/thales.html" target="_blank"><img src="images/logo_obeo.png"></a>
				<p></p>
				<a href="https://www.obeo.fr/en/capella-professional-offer" target="_blank"><img
						src="images/logo_thales.png"></a>

			</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_capella_day.html'"></ng-include>

	<!--
        ==================================================
        Footer Section
        ================================================== -->
	<ng-include src="'angular/blocks/footer.html'"></ng-include>
	<script async src="js/googleAnalytics.js"></script>
</body>

</html>