<!doctype html>
<html>
<link rel="icon" type="image/png" href="favicon.ico" />

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>CHESS</title>
	<link rel="stylesheet" href="styles.css" type="text/css" />
</head>

<body>
    <header>
		<div class="logo-left width">
			<a href="index.html"><img src="images/logo_chess_350.gif" alt="CHESS logo" width=""></a>
		</div>
    </header>
    <nav>
		
		<div class="width">
			<ul>
				<li class="start"><a href="index.html">Home</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li class="selected"><a href="features.html">Features</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li><a href="start.html">Getting Started</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li><a href="events.html">Events</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li class="end"><a href="community.html">Community</a></li>
				<li style="text-align:right;"><a href="download.html" class="box">Download</a></li>
				<li style="float:none;"><br style="clear:both;" /></li> 
			</ul>		
		</div>
		
    </nav>

	<div id="hrdiv">
		<img src="images/bg_breadcrumb.jpg" width="" alt="" height="" />
	</div>

    <div id="body" class="width-started">
		<article class="expanded">
			<ul class="tabs">
				<li>
					<input name="tabs" id="tab1" checked="" type="radio">
					<label for="tab1">Features</label>
					<div id="tab-content1" class="tab-content">
						<p>
						<h3>CHESS Profile</h3>
					<p>
					The CHESS UML profile: 
					<ul class="listInTabs">
						<li>restricts the set of MARTE and UML entities that can be created in the CHESS model, </li>
						<li>provides the set of stereotypes required to enable the user to work with the CHESS 
						component model, </li>
						<li>provides some MARTE stereotypes extensions to allow the specification of 
						computation-independent real-time properties, </li>
						<li>defines a new set of stereotypes for the support of dependability modeling.</li>
					</ul>
				</p>
				<p>
				<h3>CHESS Editor</h3> 
				<p>
					The CHESS editor extends the Papyrus UML editor and is activated when a CHESS model is created 
					or opened (see <a href="#figure1">Figure 1</a>).
				</p>
				<p>
					A CHESS model is a UML model with the CHESS profile applied to it; creating a CHESS model and 
					applying the CHESS profile can be done using a dedicated wizard.
				</p>
				<p>
					The CHESS editor allows working with the Papyrus UML by using the CHESS design views. 
					Each design view applies specific constraints on the UML diagrams and entities that can be 
					created, viewed or edited in that view.
				</p>
				<p>
					The CHESS editor allows switching between views. It also keeps the status of the current view 
					and during the modeling activity prevents the modeler from violating the constraints defined for 
					the current diagram-view pair.
				</p>
				<p>
					The native Papyrus palettes have been customized in order to show only the entities that are 
					allowed to be created in the current diagram view.
				</p>
				<p>
				<h4>CHESS Views</h4>
				<p>
					The views defined in CHESS are the requirement, system, component, deployment and analysis views.
				</p>
				<p>
					The requirement view is used to model requirements by using the standard requirement diagram 
					from SysML.
				</p>
				<p>
				</p>
				<p>
					The system view is used to model system entities by using SysML; it is an ongoing development 
					that has been recently introduced in CHESS in order to support the system to software 
					co-engineering phase.
				</p>
				<p>
					The component view is used to model CHESS software components (also called the PIM model): 
					is actually composed by two sub-views, the functional and the extra-functional ones, according 
					to the CHESS separation of concerns principle.
				</p>
				<p>
					The functional view allows the functional specification of the CHESS components (see <a href="#figure1">Figure 1</a> 
					and <a href="#figure2">Figure 2</a>).
				</p>
				<p>
								
				<a id="figure1"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Component View Types" src="images/compFunViewTypes.png" width="85%"/></a>								
				<div class="caption">Figure 1: Component View - Functional View - Component Types</div>
				</p>
				<p>
				<a id="figure2"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Component View Instances" src="images/compFunViewInstances.png" width="85%"/></a>
				<div class="caption">Figure 2: Component View - Functional View - Component Instances</div>
				</p>
				<p>
					The extra functional view (see <a href="#figure3">Figure 3</a>) allows the specification of real time properties 
					like periodic and sporadic activation patterns, worst-case execution time and deadline. 
					Regarding dependability it supports the specification of error models (i.e. fault-error-failure 
					chains) for software and offers the possibility for the user to specify probabilistic values 
					related to fault occurrence and failure propagation between components.
				</p>
				<p>
				<a id="figure3"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Component View Extra Functional View" src="images/compExtraFunViewInstances.jpg" width="85%"/></a>
				<div class="caption">Figure 3: Component View - Extra Functional View - Component Instances</div>
				</p>
				<p>
					The deployment view (<a href="#figure4">Figure 4</a>) is used to describe the hardware platform where the software runs 
					(i.e. CPUs, buses) and software to hardware components allocation. Dependability properties can be 
					provided for the hardware as for the software components. Moreover failures propagation from hardware to 
					software can be specified.
				</p>
				<p>
				<a id="figure4"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Deployment View" src="images/deplView.jpg" width="85%"/></a>
				<div class="caption">Figure 4: Deployment View - HW Component instance and SW allocation</div>
				</p>
				<p>
					The analysis view (<a href="#figure5">Figure 5</a>) is used to provide information needed to run the specific analysis; 
					in particular it is currently useful to set the information about the dependability measure of interest 
					(i.e. reliability or availability) that needs to be evaluated.
				</p>
				<p>
				<a id="figure5"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Analysis View" src="images/analView.jpg" width="85%"/></a>
				<div class="caption">Figure 5: Analysis View</div>
				</p>
				<p>
				<h3>Model validator</h3>
				<p>
					For reasons of practicality, not all the constraints posed by the CHESS methodology on the model 
					formalisms and contents can be enforced on the fly during user modeling; some of them must be 
					checked in a batch mode. To this end the CHESS editor extends the standard UML model validator 
					which ad-hoc checks that the user model conforms with the constraints imposed by the CHESS 
					methodology, for example the well-formedness of entities, attributes, relations.
				</p>
				<p>
				<a id="figure6"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="Invoking CHESS model validator" src="images/callModelValidator.png" width="85%"/></a>
				<div class="caption">Figure 6: Invoking CHESS model validator</div>
				</p>
				<p>
				<h3>Model transformations</h3> 
				<p>
					CHESS supports model-based analysis of the systems for schedulability and dependability, as 
					well as code generation from model. Both features are implemented through model transformations 
					which are invoked through the CHESS editor menu.
				</p>
				<h4>Schedulability Analysis and Ada 2005 Code Generation</h4>
				<p>
					Schedulability analysis allows the calculation of the worst case response time for each declared 
					periodic or sporadic activity. The analysis results are back propagated to the proper PIM 
					components, also a summary report is provided to the user (see <a href="#figure7">Figure 7</a>). The intent of the
					back-propagation feature is that the user need not be concerned with the specifics of the 
					analysis tool and need not learn its input and output formats: back-propagation decorates 
					the user model with the relevant information that results from the analysis in full transparency 
					from the analysis engine and its actual operation.
				</p>
				<p>
				<a id="figure7"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Schedulability Analysis Report" src="images/schedAnalReport.png" width="85%"/></a>
				<div class="caption">Figure 7: Schedulability Analysis Report</div>
				</p>
				<p>
					The real-time properties of interest like period, offset and minimal inter-arrival time are 
					specified in the model through a dedicated declarative language defined in the CHESS profile. 
					The aforementioned properties are then automatically applied to the model implementation through 
					model transformation in accord with the computational model chosen by the user. At the present 
					time, CHESS supports the Ravenscar Computational Model [2] which meets the requirements of a 
					large spectrum of real-time application domains. The generated implementation (called the PSM, 
					for platform-specific model) is then given in input to the schedulability analysis and it also 
					used during the code generation phase:
				</p>
				<p>
					The preservation of other real-time properties related to the execution time like WCET and 
					deadline is also enforced in the generated code through dedicated checks by using specific 
					API of the target run-time environment (this feature is an on-going development).
				</p>
				<p>
					This approach guarantees the preservation of the real-time properties statically assumed in the 
					PIM and PSM models, and verified by the analysis down to the code.
				</p>
				<p>
					The schedulability analysis is performed by using an adaptation of the third-party MAST tool 
					developed and distributed by the University of Cantabria [3].
				</p>
				<p>
					Regarding the transformation chain (<a href="#figure8">Figure 8</a>), first the CHESS PIM is transformed into the 
					PSM model by using QVT-o. Then the PSM is transformed into the MAST input by using Acceleo and 
					Java. Regarding the back propagation, Java is used first to load the MAST results into the PSM, 
					then QVT-o traces are used to propagate the results back to the PIM model.
				</p>
				<p>
				<a id="figure8"><img style="background: #fff; box-shadow: 0px 0px 6px #111;" alt="CHESS Transformation chain" src="images/transChain.png" width="85%"/></a>
				<div class="caption">Figure 8: Transformation chain</div>
				</p>
				<p>							
				</li>
				<!--li>
					<input name="tabs" id="tab2" type="radio">
					<label for="tab2">Example</label>
					<div id="tab-content2" class="tab-content">
						<p>CHESS model example currently not available</p>
						<h3>CHESS Model</h3>
						<p style="text-align: left; padding:10px;">
							CHESS model example 
						</p>
					</div>
				</li>
				<li>
					<input name="tabs" id="tab3" type="radio">
					<label for="tab3">Videos</label>
					<div id="tab-content3" class="tab-content">
					<p>CHESS modeling video currently not available</p>
						<h3>CHESS Video</h3>
						<p style="text-align: left; padding:10px;">
							CHESS model example 
						</p>
					</div>
				</li-->
					
			</ul>
		</article>		         
    </div>
	
	<div class="clear"></div>
	
		<footer id="footer-features">
        <div class="footer-content width">
			<ul>
				<li><h4>PolarSys</h4></li>
				<li><a href="http://www.polarsys.org/about-us">About</a></li>
				<li><a href="http://www.polarsys.org/contact-us">Contact Us</a></li>
				<li><a href="http://www.polarsys.org/projects/polarsys.chess">CHESS Project Page</a></li>
			</ul>
            <ul>
            	<li><h4>Legal</h4></li>
				<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
				<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
				<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
				<li><a href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a></li>
				<li><a href="http://www.eclipse.org/legal/">Legal Resources</a></li>
            </ul>
            <ul>
            	<li><h4>Useful Links</h4></li>
                <li><a href="http://polarsys.org/bugs/describecomponents.cgi?product=CHESS">Report a Bug</a></li>
				<li><a href="http://polarsys.org/wiki/CHESS">Documentation</a></li>
				<li><a href="http://polarsys.org/wiki/CHESS/Technical_Information">How to Contribute</a></li>
				<li><a href="http://polarsys.org/mailman/listinfo/chess-dev">Mailing List</a></li>
				<li><a href="http://polarsys.org/forums/index.php/f/9/">Forum</a></li>
            </ul>
			<ul class="endfooter">
				<li><h4>Other</h4></li>
				<li><a href="http://www.intecs.it/">Intecs</a></li>
				<li><a href="http://www.unipd.it">University of Padova</a></li>
			</ul>
			<table>
				<tr>
					<td>
						<a href="http://www.polarsys.org/"><img src="images/polarsys.png" alt="PolarSys logo" width="250"></a>
						<br />
						<br />
					</td>
					<td>
						<div class="right-footer">
							<a href="http://www.eclipse.org/"><img src="images/eclipse.png" alt="Eclipse logo"></a>
							<br />
							Copyright © <span id="year">2014</span> The Eclipse Foundation. <br /> All Rights Reserved.
						</div>
					</td>
				</tr>
			</table>
		
			<div class="clear"></div>			
        </div>
   
    </footer>
</body>
</html>