<?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 Electrical Power 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?fa61847f3abe4ab2a85772bd5e6b4d01';
			}
		</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/fa61847f3abe4ab2a85772bd5e6b4d01.html">Electrical Power 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/fa61847f3abe4ab2a85772bd5e6b4d01.html">Electrical Power 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/68d57242548d41c4879d3a68de004e23.html">FOP 1</a><ul class="generatedList"><li><img src="../icon/ActorPhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/4c2371280cf340748af45e63e4994e02.html">Provide Electrical Power</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/29281d72e1d44f26b78d1c657a36fab8.html">FIP 1</a><ul class="generatedList"><li><img src="../icon/PhysicalFunction.gif" alt="PhysicalFunction" /> <a href="../In-Flight Entertainment System/b4c3689410af41669da7099de70ad0f6.html">Capture Aircraft Notifications and Parameters</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/8ab8e6a52c1f40468aabb44dd550b833.html">Power Consumption Cap</a></li></ul>









<h2>Diagrams displaying "Electrical Power Profile"</h2>
<ul>
<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>