11.11.2014 Views

TMCDB - 6th ACS Workshop at UTFSM 2009

TMCDB - 6th ACS Workshop at UTFSM 2009

TMCDB - 6th ACS Workshop at UTFSM 2009

SHOW MORE
SHOW LESS

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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 2008


13 Pablo Burgos – November 24­28, 2008


SW Deployment: How it works? (3)<br />

14 Pablo Burgos – November 24­28, 2008


SW Deployment: How It works?(4)<br />

15 Pablo Burgos – November 24­28, 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 24­28, 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 24­28, 2008


Configur<strong>at</strong>ion and Startup:<br />

How It works? (1)<br />

18 Pablo Burgos – November 24­28, 2008


Configur<strong>at</strong>ion and Startup:<br />

How it works? (2)<br />

19 Pablo Burgos – November 24­28, 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 24­28, 2008


Monitoring. How it works?<br />

21 Pablo Burgos – November 24­28, 2008


Monitoring: Present<strong>at</strong>ion Layer<br />

22 Pablo Burgos – November 24­28, 2008


Monitoring: Present<strong>at</strong>ion Layer<br />

23 Pablo Burgos – November 24­28, 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 24­28, 2008


Big Picture of Current Devel...<br />

25 Pablo Burgos – November 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 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 24­28, 2008


DEMO<br />

...time to play with it...<br />

32 Pablo Burgos – November 24­28, 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 24­28, 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 24­28, 2008


Present<strong>at</strong>ion Layer<br />

35 Pablo Burgos – November 24­28, 2008


In the middle term....<br />

36 Pablo Burgos – November 24­28, 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 24­28, 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 24­28, 2008


¡Muchas Gracias!<br />

Thank you!<br />

39 Pablo Burgos – November 24­28, 2008


Q&A<br />

40 Pablo Burgos – November 24­28, 2008

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!