<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

	<head>
		<meta name="copyright" content="Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved." />
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
		<meta http-equiv="Content-Style-Type" content="text/css" />

		<title>Capella - In-Flight Entertainment System - FunctionalExchange IFE Operating Profile</title>
		<link rel="stylesheet" href="../../scripts/jquery-treeview/jquery.treeview.css" />
  		<script src="../../scripts/jquery-treeview/lib/jquery-1.11.1.js" type="text/javascript"></script>
  		<script src="../../scripts/jquery-treeview/jquery.treeview.js" type="text/javascript"></script>
		<link rel="stylesheet" type="text/css" href="../../css/simpletree.css" />		
		<link title="default" rel="stylesheet" type="text/css" media="screen, projection" href="../../css/content.css"></link>
		<script type="text/javascript">
			if(parent.location.href == self.location.href) {
				window.location.href = 'index.html?f5307d6db27f4f2d881713ee254f0011';
			}
		</script>
		
		<style>
			body {
				background: white;
				font-family: Arial;
			}
			.treeview {
				background-color: white ;
			}
	
			.treeview ul{ /*CSS for Simple Tree Menu*/
				background-color: white;
				font-size: 12px;
			}
	
			.treeview li{ /*Style for LI elements in general (excludes an LI that contains sub lists)*/
				background-color: white;
			}
		</style>
		
	</head>
	
	<body><div id="content">
<img src="../icon/FunctionalExchange.png" alt="FunctionalExchange" style="float:left; margin-right:10px" /><h1><a href="../In-Flight Entertainment System/f5307d6db27f4f2d881713ee254f0011.html">IFE Operating Profile</a></h1>
<p style="margin-top:3px; margin-bottom:3px"><span class="elementMetaClass">FunctionalExchange</span></p>
<em class="elementPath"><a href="../In-Flight Entertainment System/bd182435e29042ceb99f6dd06e7ae7c7.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/8f49452e61f24ba0b944352d1f4c4227.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/9a0668cfdb264ee79339c1d8658fa112.html">Physical Architecture</a> > <a href="../In-Flight Entertainment System/75b9cc1b926940d98528a77115b3a81d.html">Physical Functions</a> > <a href="../In-Flight Entertainment System/0f09b41e1e384d34abb0ba31a0eedd58.html">Root Physical Function</a> > <a href="../In-Flight Entertainment System/f5307d6db27f4f2d881713ee254f0011.html">IFE Operating Profile</a></em>

<p>
No description.
</p>












<h2> Source </h2>
<ul id="sourcePortTreeView" class="treeview"><li><img src="../icon/FunctionOutputPort.gif" alt="FunctionOutputPort" /> <a href="../In-Flight Entertainment System/5cfd52bf4fe54abca63cd09e03b04992.html">FOP 1</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/c13d69700ca444b4be4b64b6f3eebbb4.html">Determine Operating Profiles</a></li></ul></li></ul>
<h2> Target </h2>
<ul id="targetPortTreeView" class="treeview"><li><img src="../icon/FunctionInputPort.gif" alt="FunctionInputPort" /> <a href="../In-Flight Entertainment System/55e2e072e14e411cb6921d6946a1105d.html">FIP 2</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/88a4d6d0fcf24c03be5ee6a23c727bf4.html">Determine Passenger Service Availability</a></li></ul></li></ul>





<h2>Realized Elements</h2>

<ul class="generatedList"><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/8c966c7851fb4436b36ecc857783924d.html">IFE Operating Profile</a></li></ul>









<h2>Diagrams displaying "IFE Operating Profile"</h2>
<ul>
<li>
<a href="../In-Flight Entertainment System/cf7dca25225043399501eaf3557a644c.html#_THK9ALI7EeSu9-F8hTsjMA">&#091;PDFB&#093; &#091;CTX&#093; Manage Passenger Services Lifecycle</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/5158c7628f3c494798f44cf085492bf5.html#_ma5G8KoYEeSr1bMvtyrYBA">&#091;PAB&#093; &#091;BUILD&#093; All PCs&#044; PFs&#044; FEs</a> 
</li>
</ul>





 </div>	<script type="text/javascript">
		$("#sourcePortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
		$("#targetPortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
	</script>
   </body>
</html>