1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<html>
<head><title>Image map created by yEd</title>
<style type="text/css">
.tooltip {
font-size:10pt;
background-color:#FFFFCC;
border:1px solid black;
padding:2px
}
</style>
<style type="text/css">
.tooltip {
position:absolute;
display:none
}
</style>
</head>
<body>
<script type="text/javascript">
tooltip = null;
document.onmousemove = updateTooltip;
function updateTooltip(e) {
try {
if (document.all) {
if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
x = document.documentElement.scrollLeft + window.event.x;
y = document.documentElement.scrollTop + window.event.y;
}
else { // all other Explorers
x = document.body.scrollLeft + window.event.x;
y = document.body.scrollTop + window.event.y;
}
}
else {
x = e.pageX;
y = e.pageY;
}
if (tooltip != null) {
o = 20;
var sx, sy;
if (self.pageYOffset) { // all except Explorer
sx = self.pageXOffset;
sy = self.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
sx = document.documentElement.scrollLeft;
sy = document.documentElement.scrollTop;
}
else if (document.body) { // all other Explorers
sx = document.body.scrollLeft;
sy = document.body.scrollTop;
}
t = y + o + tooltip.offsetHeight;
w = sy + document.body.clientHeight;
if (t > w) {
y = y - o - tooltip.offsetHeight;
}
else {
y = y + o;
}
t = x + o + tooltip.offsetWidth;
w = sx + document.body.clientWidth;
if (t > w) {
x = x - o - tooltip.offsetWidth;
}
else {
x = x + o;
}
if ((tooltip.style.top == '' || tooltip.style.top == 0) && (tooltip.style.left == '' || tooltip.style.left == 0))
{
tooltip.style.width = tooltip.offsetWidth + 'px';
tooltip.style.height = tooltip.offsetHeight + 'px';
}
tooltip.style.left = x + "px";
tooltip.style.top = y + "px";
}
} catch (error) { error = null; }
}
function showTooltip(id) {
try {
tooltip = document.getElementById(id);
tooltip.style.display = "block";
} catch (error) { error = null; }
}
function hideTooltip() {
try {
tooltip.style.display = "none";
} catch (error) { error = null; }
}
</script>
<div class="tooltip" id="n0">Administration</div>
<div class="tooltip" id="n1">Astor's first goal is to know at a quick glance, if everything is OK in a control system,<br>and otherwise to be able to diagnose a problem and solve it.<br>The second goal is to configure the control system and its components. <br>The third goal is to have long term analysis on components (logs, statistics, usage,....).<br>It is relying on the starter devices.</div>
<div class="tooltip" id="n2">To achieve complete device independence, it is necessary however to supplement <br>device classes with a possibility for configuring device dependencies at runtime. <br>The utility which does this in the TDSOM is the property database. Properties <br>are identified by an ascii string and the device name. TANGO attributes are also <br>configured using properties. This database is also used to store device network <br>addresses (CORBA IOR's), list of classes hosted by a device server process and <br>list of devices for each class in a device server process. The database ensure <br>the uniqueness of device name and of alias. TANGO uses MySQL as its database.</div>
<div class="tooltip" id="n3">A high level object which contains the link to the database. It has methods for <br>all database commands e.g. get_device_property(), device_list(), info(), etc. </div>
<div class="tooltip" id="n4">TANGO devices and database are implemented using the TANGO device server model. <br>To access them the user has the CORBA interface e.g. command_inout(), <br>write_attributes() etc. defined by the idl file. These methods are very <br>low-level and assume a good working knowledge of CORBA. In order to simplify <br>this access, high-level api in C++, Python and Java have been implemented which <br>hides all CORBA aspects of TANGO.</div>
<div class="tooltip" id="n5">The TANGO Logging Service (TLS) gives the user the control over how much <br>information is actually generated and to where it goes. In practice, the <br>TLS allows to select both the logging level and targets of any device within <br>the control system. </div>
<div class="tooltip" id="n6">A Tango Log Consumer device is nothing but a tango device supporting the <br>following tango command: void log (Tango::DevVarStringArray details) </div>
<div class="tooltip" id="n7">One implementation of a log consumer associated to a graphical user interface is<br> available within Tango. It is a standalone java application called LogViewer <br> based on the publicly available chainsaw application from the log4j package.</div>
<div class="tooltip" id="n8">JIVE is a standalone JAVA application designed to browse and edit the TANGO database. <br>Jive also offers advanced search/selection features.<br></div>
<div class="tooltip" id="n9">In order to simplify device server process administration, a device of the <br>DServer class is automatically added to each device server process. Thus, every <br>device server process supports the same set of administration commands. The <br>implementation of this DServer class follows the device pattern and therefore, <br>its device behaves like any other devices. The device name is: <br>dserver/device server executable name/device server instance name </div>
<div class="tooltip" id="n10">Clients access the database via TANGO commands requested on the database device. </div>
<div class="tooltip" id="n11">Communication Layer (CORBA / ZMQ)</div>
<div class="tooltip" id="n12">Fandango (previously called PyTango_utils) is a Python module created to simplify the configuration of big control systems;<br>implementing the behavior of Jive (configuration) and/or Astor (deployment) tools in methods that could be called from scripts using regexp and wildcards.<br>It has been later extended with methods commonly used in some of our python API's (archiving, CCDB, alarms, vacca) or generic devices (composers, simulators, facades).<br></div>
<div class="tooltip" id="n13">configuration management tool for an ELI-ALPS equipment (equipment, beamdelivery, etc.). <br>The CSV files hold device names, hierarchy and attribute property values; which are <br>used for automatically registering devices in the Tango Database.</div>
<div class="tooltip" id="n14">The Cabling and Controls DataBase (CCDB) is part of the ALBA control system. It has the following:<br>Equipments, connectors and cable types <br>Instances of equipments and cables (naming conventions) <br>Documentation files <br>Installation logs <br>Source for automatic code generation and creation of <br>Tango devices</div>
<div class="tooltip" id="n15">This device server is able to control Tango components (database, device <br>servers, clients...). It is able to start or stop and to report the status <br>of these components.</div>
<map name="image1_1">
<area shape="rect" coords="24,352,196,381" href="http://www.esrf.eu/computing/cs/tango/tango_doc/ds_doc/tango-cs/System/starter/Version.html" alt="" onmouseover="showTooltip('n15')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="210,36,456,65" href="https://indico.cern.ch/event/233494/contributions/497847/attachments/389318/541501/Maintenance_Workshop_Presentation_at_Cern_vd.pdf#page=12" alt="" onmouseover="showTooltip('n14')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="210,127,456,156" alt="" onmouseover="showTooltip('n13')" onmouseout="hideTooltip()"/>
<area shape="rect" coords="24,81,456,110" href="http://tango-controls.readthedocs.io/en/latest/tutorials-and-howtos/how-tos/how-to-fandango.html" alt="" onmouseover="showTooltip('n12')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="24,292,702,321" href="http://tango-controls.readthedocs.io/en/latest/development/device-api/device-server-model.html#introduction-to-corba" alt="" onmouseover="showTooltip('n11')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="210,351,456,380" alt="" onmouseover="showTooltip('n10')" onmouseout="hideTooltip()"/>
<area shape="rect" coords="24,321,702,350" href="http://tango-controls.readthedocs.io/en/latest/development/device-api/device-server-model.html#deviceservermodel" alt="" onmouseover="showTooltip('n9')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="209,172,456,201" href="http://tango-controls.readthedocs.io/en/latest/tools-and-extensions/jive/index.html" alt="" onmouseover="showTooltip('n8')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="470,217,702,247" href="http://tango-controls.readthedocs.io/en/latest/development/advanced/reference.html#tango-log-consumer" alt="" onmouseover="showTooltip('n7')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="470,352,702,381" href="http://tango-controls.readthedocs.io/en/latest/development/advanced/reference.html#tango-log-consumer" alt="" onmouseover="showTooltip('n6')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="470,382,702,411" href="http://tango-controls.readthedocs.io/en/latest/development/device-api/device-server-model.html#the-tango-logging-service" alt="" onmouseover="showTooltip('n5')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="24,263,702,292" href="http://tango-controls.readthedocs.io/en/latest/development/client-api/index.html" alt="" onmouseover="showTooltip('n4')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="209,217,456,247" href="http://www.esrf.eu/computing/cs/tango/tango_doc/kernel_doc/ds_prog/node7.html#SECTION007100000000000000000" alt="" onmouseover="showTooltip('n3')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="210,381,456,410" href="http://tango-controls.readthedocs.io/en/latest/development/device-api/device-server-model.html#the-database" alt="" onmouseover="showTooltip('n2')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="24,217,196,247" href="http://tango-controls.readthedocs.io/en/latest/tools-and-extensions/astor/index.html" alt="" onmouseover="showTooltip('n1')" onmouseout="hideTooltip()" target="_blank"/>
<area shape="rect" coords="15,15,711,493" alt="" onmouseover="showTooltip('n0')" onmouseout="hideTooltip()"/>
</map>
<table class="yimagetable" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><img class="yimage" src="tango_administration_map1_1.png" usemap="#image1_1" border="0" alt=""/></td>
</tr>
</table>
</body>
</html>
|