TMCDB - 6th ACS Workshop at UTFSM 2009
TMCDB - 6th ACS Workshop at UTFSM 2009
TMCDB - 6th ACS Workshop at UTFSM 2009
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>TMCDB</strong><br />
ALMA Telescope Monitor and Configur<strong>at</strong>ion DB<br />
Pablo Burgos<br />
ALMA
Motiv<strong>at</strong>ion<br />
ALMA will be the most complex telescope th<strong>at</strong> has ever<br />
been built by human kind<br />
Large number of antennas and<br />
hardware components<br />
Complex in terms of<br />
High D<strong>at</strong>a R<strong>at</strong>es involved<br />
High Processing Power<br />
... for naming a few ...<br />
Daily Oper<strong>at</strong>ion<br />
2 Pablo Burgos – November 2428, 2008
In terms of software oper<strong>at</strong>ion ALMA<br />
is complex too...<br />
66<br />
St<strong>at</strong>ic Components: FLOOG, LORR, LO2 x4, PSA, PSD etc = 40<br />
components per<br />
antenna<br />
2640 st<strong>at</strong>ic components whole Array<br />
Components from other subsystems ARCHIVE,<br />
Correl<strong>at</strong>or,TELCAL etc<br />
Dynamic components<br />
More than 100 containers<br />
More than 3000 entities th<strong>at</strong> needs Configur<strong>at</strong>ion<br />
Monitoring, Startup and Deployment info<br />
Big<br />
Problem<br />
3 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong> has been design to be the<br />
answer to this problem<br />
Main TMDCB Design Goal: Simplify ALMA Software Oper<strong>at</strong>ion<br />
By means of<br />
Providing interfaces to persist/store/retrieve<br />
d<strong>at</strong>a needed for configuring, initializing,<br />
monitoring and deploying of software<br />
modules for telescope oper<strong>at</strong>ion, tracking<br />
this inform<strong>at</strong>ion over lifetime of ALMA<br />
project<br />
4 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong> is not....<br />
... a maintenance d<strong>at</strong>abase<br />
Btw, maintenance d<strong>at</strong>abases are meant to:<br />
Keep Maintenance schedules and its<br />
history<br />
Part and suppliers<br />
Vendors inform<strong>at</strong>ion<br />
5 Pablo Burgos – November 2428, 2008
Objetives<br />
To understand the motiv<strong>at</strong>ion for <strong>TMCDB</strong> design and<br />
the driving forces shaping its development<br />
To understand the <strong>TMCDB</strong> role, and how its design<br />
fits on the overall ALMA system<br />
Have a grasp on the current architecture design<br />
To realize about current development st<strong>at</strong>us<br />
To know how to activ<strong>at</strong>e and play <strong>at</strong> home with it :)<br />
6 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong><br />
Schedule<br />
<strong>TMCDB</strong>: It's Layered Architecture<br />
Activ<strong>at</strong>ing<br />
<strong>TMCDB</strong><br />
Ongoing <strong>TMCDB</strong><br />
Development<br />
Conclusion<br />
s<br />
7 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong><br />
Schedule<br />
<strong>TMCDB</strong>: It's Layered Architecture<br />
Activ<strong>at</strong>ing<br />
<strong>TMCDB</strong><br />
Ongoing <strong>TMCDB</strong><br />
Development<br />
Conclusion<br />
s<br />
8 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong> Layered Architecture<br />
Present<strong>at</strong>ion Layer<br />
Business Layer<br />
User Interface Logic. Collected d<strong>at</strong>a is<br />
only<br />
as useful as the analysis th<strong>at</strong><br />
can be done on it<br />
Domain Model Logic<br />
Persistence Layer<br />
D<strong>at</strong>abase<br />
Responsible for storing/retrieving<br />
d<strong>at</strong>a from d<strong>at</strong>a source<br />
Persistent represent<strong>at</strong>ion of the<br />
system st<strong>at</strong>e<br />
9 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong> Sections<br />
Present<strong>at</strong>ion<br />
Layer<br />
Business Layer<br />
Software Deployment<br />
Startup<br />
Configur<strong>at</strong>ion<br />
Monitoring<br />
Persistence Layer<br />
D<strong>at</strong>abase<br />
10 Pablo Burgos – November 2428, 2008
SW Deployment<br />
Software Deployment Section: inform<strong>at</strong>ion about properties of<br />
Computers, Containers th<strong>at</strong> run inside Computers and associ<strong>at</strong>ed<br />
Components<br />
11 Pablo Burgos – November 2428, 2008
SW Deployment: How it works? (1)<br />
Hibern<strong>at</strong>eCDBJDal is the new Servant th<strong>at</strong> incarn<strong>at</strong>es WJDAL<br />
ALMA system never knows wh<strong>at</strong> is the CDB behind the<br />
scenes (classicCDB or Hibern<strong>at</strong>eCDB :) )<br />
12 Pablo Burgos – November 2428, 2008
13 Pablo Burgos – November 2428, 2008
SW Deployment: How it works? (3)<br />
14 Pablo Burgos – November 2428, 2008
SW Deployment: How It works?(4)<br />
15 Pablo Burgos – November 2428, 2008
Configur<strong>at</strong>ion Section<br />
Handles inform<strong>at</strong>ion about Base Elements and which of<br />
them are online (BaseElementOnline)<br />
A BaseElement is one set of high level structures th<strong>at</strong><br />
makes up the ALMA Telescope. They may contain<br />
assemblies, arranged in groups<br />
Base Elements examples: Antenna, Pad, FrontEnd, We<strong>at</strong>her<br />
St<strong>at</strong>ion, Correl<strong>at</strong>or, Central Rack, Holography Tower and Array<br />
16 Pablo Burgos – November 2428, 2008
Startup<br />
Startup Section: Houses all d<strong>at</strong>a needed to start the entire<br />
ALMA Software System<br />
Software Deployment<br />
Startup List<br />
Computers expected to be<br />
oper<strong>at</strong>ional and online<br />
<strong>ACS</strong> version to be run<br />
Containers to start and<br />
computers on which to run<br />
them<br />
Components th<strong>at</strong> are started<br />
autom<strong>at</strong>ically and containers<br />
in which to run them<br />
Dependencies<br />
BaseElement Startup List<br />
Base Elements to be started<br />
Example: Antennas and for<br />
each antenna:<br />
The pad it is on<br />
Which FrontEnd the antenna<br />
has installed<br />
Antenna pointing model<br />
17 Pablo Burgos – November 2428, 2008
Configur<strong>at</strong>ion and Startup:<br />
How It works? (1)<br />
18 Pablo Burgos – November 2428, 2008
Configur<strong>at</strong>ion and Startup:<br />
How it works? (2)<br />
19 Pablo Burgos – November 2428, 2008
Monitoring<br />
<strong>ACS</strong>Container<br />
<br />
BaciProperty1<br />
BaciProperty2<br />
BaciProperty n<br />
<br />
<strong>TMCDB</strong>Monitor<br />
NC<br />
DB<br />
Supplier<br />
Consumer<br />
20 Pablo Burgos – November 2428, 2008
Monitoring. How it works?<br />
21 Pablo Burgos – November 2428, 2008
Monitoring: Present<strong>at</strong>ion Layer<br />
22 Pablo Burgos – November 2428, 2008
Monitoring: Present<strong>at</strong>ion Layer<br />
23 Pablo Burgos – November 2428, 2008
D<strong>at</strong>abase Schema<br />
Finally, this is the reason to keep all different<br />
<strong>TMCDB</strong> sections as a whole...<br />
We can cre<strong>at</strong>e powerful queries against the DB<br />
http://almasw.hq.eso.org/almasw/bin/viewfile/Archive/<strong>TMCDB</strong>Repository?rev=1;filename=<strong>TMCDB</strong>v1.6.3.png<br />
24 Pablo Burgos – November 2428, 2008
Big Picture of Current Devel...<br />
25 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong><br />
Schedule<br />
<strong>TMCDB</strong>: It's Layered Architecture<br />
Activ<strong>at</strong>ing<br />
<strong>TMCDB</strong><br />
Ongoing <strong>TMCDB</strong><br />
Development<br />
Conclusion<br />
s<br />
26 Pablo Burgos – November 2428, 2008
Activ<strong>at</strong>ing <strong>TMCDB</strong><br />
Export some environment variables:<br />
ENABLE_<strong>TMCDB</strong>=1<br />
<strong>TMCDB</strong>_CONFIGURATION_NAME=''<br />
For an initial bulk loading d<strong>at</strong>a from CDB<br />
LOAD_FROM_XML=1<br />
<strong>ACS</strong>_STARTUP_TIMEOUT_MULTIPLIER=100<br />
27 Pablo Burgos – November 2428, 2008
Initial bulk d<strong>at</strong>a loading<br />
<strong>TMCDB</strong> can be popul<strong>at</strong>ed with initial Software Deployment<br />
inform<strong>at</strong>ion from an existing classic CDB<br />
ClassicCDB<br />
CDB >/Alarms<br />
/alma<br />
/MACI<br />
Hibern<strong>at</strong>eServer loadXMLCDB<br />
<strong>TMCDB</strong><br />
D<strong>at</strong>abase<br />
28 Pablo Burgos – November 2428, 2008
Activ<strong>at</strong>ing <strong>TMCDB</strong><br />
Upd<strong>at</strong>e dbConfig.properties file loc<strong>at</strong>ed on $<strong>ACS</strong>DATA/config<br />
with this d<strong>at</strong>a:<br />
# for HsqlDB:<br />
alma.tmcdb.backend=hsqldb<br />
archive.tmcdb.backend=hsqldb<br />
archive.tmcdb.user=sa<br />
archive.tmcdb.loc<strong>at</strong>ion=jdbc:hsqldb:hsql://localhost:8090<br />
tmcdb.db.backend=hsqldb<br />
tmcdb.confname=test<br />
tmcdb.hsqldb.user=sa<br />
tmcdb.hsqldb.passwd=<br />
tmcdb.hsqldb.url=jdbc:hsqldb:hsql://localhost:8090<br />
29 Pablo Burgos – November 2428, 2008
Activ<strong>at</strong>ing <strong>TMCDB</strong><br />
Start HSQLDB d<strong>at</strong>abase, and load <strong>TMCDB</strong> schema executing<br />
Cre<strong>at</strong>eHsqldbTables.sql<br />
...then let's start acs and the containers<br />
acsStart noloadifr<br />
acsStartContainer cpp CONTROL/DA41/cppContainer<br />
acsStartContainer java CONTROL/ACC/javaContainer<br />
acsstartupLoadIFR MonitorInterface.idl PSABECompSimBase.idl<br />
30 Pablo Burgos – November 2428, 2008
..retrieving SW Deployment info<br />
Type "help", "copyright", "credits" or "license" for more inform<strong>at</strong>ion.<br />
>>> import Acspy.Util.<strong>ACS</strong>Corba<br />
>>> dal = Acspy.Util.<strong>ACS</strong>Corba.cdb()<br />
>>> dao = dal.get_DAO_Servant("alma/CONTROL/DA41/PSABE")<br />
>>> <strong>at</strong>t = dao.get_double("MID_1_VOLTAGE/alarm_timer_trig")<br />
>>> print <strong>at</strong>t<br />
0.0<br />
>>> <strong>at</strong>t = dao.get_double("MID_1_VOLTAGE/default_timer_trig")<br />
>>> print <strong>at</strong>t<br />
10.0<br />
>>><br />
31 Pablo Burgos – November 2428, 2008
DEMO<br />
...time to play with it...<br />
32 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong><br />
Schedule<br />
<strong>TMCDB</strong>: It's Layered Architecture<br />
Activ<strong>at</strong>ing<br />
<strong>TMCDB</strong><br />
Ongoing <strong>TMCDB</strong><br />
Development<br />
Conclusion<br />
s<br />
33 Pablo Burgos – November 2428, 2008
Present<strong>at</strong>ion Layer<br />
This layer is where most development time will be needed in the<br />
future<br />
ObOps is on charge of this.<br />
Currently they are working on the <strong>TMCDB</strong> Configur<strong>at</strong>ion Tool<br />
It can look like the next slide....<br />
34 Pablo Burgos – November 2428, 2008
Present<strong>at</strong>ion Layer<br />
35 Pablo Burgos – November 2428, 2008
In the middle term....<br />
36 Pablo Burgos – November 2428, 2008
<strong>TMCDB</strong><br />
Schedule<br />
<strong>TMCDB</strong>: It's Layered Architecture<br />
Activ<strong>at</strong>ing<br />
<strong>TMCDB</strong><br />
Ongoing <strong>TMCDB</strong><br />
Development<br />
Conclusion<br />
s<br />
37 Pablo Burgos – November 2428, 2008
Conclusions<br />
All 4 <strong>TMCDB</strong> sections, Configur<strong>at</strong>ion, Monitoring, Startup<br />
and SW Deployment are the response to the different use<br />
cases expected <strong>at</strong> ALMA project<br />
<strong>TMCDB</strong> is the answer to ease the oper<strong>at</strong>ion of the ALMA Telescope<br />
38 Pablo Burgos – November 2428, 2008
¡Muchas Gracias!<br />
Thank you!<br />
39 Pablo Burgos – November 2428, 2008
Q&A<br />
40 Pablo Burgos – November 2428, 2008