control software for the lbt interferometer linclinc ... · development organization ycontinuous...
TRANSCRIPT
3/28/2012
1
Control Software for the LBTControl Software for the LBTinterferometer interferometer LINCLINC--NIRVANANIRVANA
27. March 2012Technical Seminar
DESY Zeuthen
Jan Trowitzsch [[email protected]]Florian Briegel [[email protected]]
Max-Planck-Institute for Astronomy, Heidelberg
OutlineOutline
Introduction to LINC NIRVANAIntroduction to LINC-NIRVANA
MPIA common software◦ Development tools and frameworks◦ Components and featuresComponents and features
Control Software for LINC-NIRVANA
3/27/2012 2Technical Seminar DESY Zeuthen
3/28/2012
2
LINCLINC--NIRVANANIRVANA
LBT Interferometric Camera and Near-Infrared / Visible Adaptive Infrared / Visible Adaptive Interferometer for Astronomy ◦ Imaging beam combiner for the LBT
Multi-conjugated Adaptive Optics: MCAO◦ High-layer and ground-layer sensing and
correction using adaptive mirrors◦ Guidestars for wavefront measurement
Several rotating fields
3/27/2012 Technical Seminar DESY Zeuthen 3
Large Binocular TelescopeLarge Binocular Telescope
3/27/2012 Technical Seminar DESY Zeuthen 4
3/28/2012
3
Large Binocular TelescopeLarge Binocular Telescope
3/27/2012 Technical Seminar DESY Zeuthen 5
LINCLINC--NIRVANANIRVANA
3/27/2012 Technical Seminar DESY Zeuthen 6
3/28/2012
4
LINCLINC--NIRVANANIRVANA
3/27/2012 Technical Seminar DESY Zeuthen 7
LINCLINC--NIRVANANIRVANA
3/27/2012 Technical Semniar DESY Zeuthen 8
3/28/2012
5
LINCLINC--NIRVANANIRVANA
3/27/2012 Technical Seminar DESY Zeuthen 9
What needs to be controlled?What needs to be controlled?4 Wavefront sensors AO Loops6 De-rotating elements6 De rotating elementsDetector positioning and readoutMany movable elements on motorized stages (ca. 120)Interaction with the telescope
We will have multiple services running on 8 different computers
3/27/2012 10Technical Seminar DESY Zeuthen
3/28/2012
6
MPIA Common SoftwareMPIA Common Software
TwiceAsNice◦ Framework for developing service oriented ◦ Framework for developing service oriented
architectures – SOA◦ Linux only◦ Based on Ice and Qt
1. Neubau2 Nice2. Nice3. Basda◦ Mocca, Tempo, Vino, IO, Misda…
3/27/2012 Technical Seminar DESY Zeuthen 11
Third party softwareThird party softwareInternet Communications Engine (Ice) from ZeroC – www.zeroc.com
◦ Distributed computing platform◦ Provides powerful network infrastructure◦ Supports many languages: C++, Java, Python, Ruby…
Qt and Qwt – qt.nokia.com
◦ Crossplatform application and UI framework◦ Widgets for technical applications
Boost – www.boost.org
◦ Widely useful C++ source libraries
3/27/2012 12Technical Seminar DESY Zeuthen
3/28/2012
7
Development OrganizationDevelopment OrganizationVersion control using subversion – SVNUsing TRAC on top of SVNUsing TRAC on top of SVN◦ Web-based software project management◦ Issue tracking system – Tickets◦ Enhanced wiki system (documentation)
Allows linking of sources or tickets to wiki pages
◦ Plugins and enhancements:Blog, Discussion, Roadmap based on tickets, Source browser … extendable
◦ trac.edgewall.org
3/27/2012 Technical Seminar DESY Zeuthen 13
Development OrganizationDevelopment Organization
3/27/2012 Technical Seminar DESY Zeuthen 14
3/28/2012
8
Development OrganizationDevelopment OrganizationContinuous integration testing using:◦ Bitten:Bitten:
continuous integration plugin for TracPython-based framework for collecting various software metrics via continuous integration
◦ Jenkins:Extendable open source continuous integration serverSeveral plugins available
◦ bitten.edgewall.org
◦ jenkins-ci.org
3/27/2012 Technical Seminar DESY Zeuthen 15
Continuous IntegrationContinuous Integration
3/27/2012 Technical Seminar DESY Zeuthen 16
3/28/2012
9
Software OverviewSoftware Overview
3/27/2012 Technical Seminar DESY Zeuthen 17
NeubauNeubauPerl script for creating auto tools based projectsp jHelps to manage projects◦ Adding subdirectories◦ Keeping the subdir tree of configure.in an Makefile.am
synchronized◦ Code template support, for creating pieces of code
A f f f Autoconf macros for finding various software packages (boost, qt4, ice, …)
◦ gnu.org/software/autoconf
3/27/2012 18Technical Seminar DESY Zeuthen
3/28/2012
10
NeubauNeubau
Automake build rules for administration ◦ Automatic subversion add◦ Automatic subversion add◦ Building of rpm packages◦ Doxygen documentation …
Automake build rules for compiling not supported meta languages and formats◦ Qt, ice, png, nice, …
◦ gnu.org/software/automake
3/27/2012 Technical Seminar DESY Zeuthen 19
NiceNice
3/27/2012 20Technical Seminar DESY Zeuthen
3/28/2012
11
NiceNice
Nice Instrument Control EnvironmentBasic functionalities: Basic functionalities:
3/27/2012 21Technical Seminar DESY Zeuthen
NiceNice
Integration of Qt/QwtRanger tool for engineering GUIsRanger tool for engineering GUIsService/Device architectures with dedicated property treesCode generationPython interfacePython interface
3/27/2012 Technical Seminar DESY Zeuthen 22
3/28/2012
12
Heart and Soul Heart and Soul -- PropertiesPropertiesProperty:
Weak typed data container attached to a JointAll t d d t t f f k b l d hAll supported data types of our framework can be placed hereMay contain a set of bridges to communicate with outside worldMay contain a set of actors to trigger actions whenever the internal value is about to change
3/27/2012 23Technical Seminar DESY Zeuthen
Service Service –– Client ConnectionsClient Connections
1 Server & Client create a Joint root node
3/27/2012 Technical Seminar DESY Zeuthen 24
1. Server & Client create a Joint root node2. Client connects to publisher’s Joint node3. Server sub-tree is cloned at client side and an Ice bridge is attached
to each property4. Property value changes are distributed via attached Ice bridges to all
subscribers
3/28/2012
13
More Heart and SoulMore Heart and Soul
3/27/2012 25Technical Seminar DESY Zeuthen
Ranger Ranger –– Engineering InterfaceEngineering Interface
3/27/2012 Technical Seminar DESY Zeuthen 26
3/28/2012
14
BasdaBasda
3/27/2012 27Technical Seminar DESY Zeuthen
BasdaBasda -- OverviewOverview
3/27/2012 28Technical Seminar DESY Zeuthen
3/28/2012
15
BasdaBasda -- DeviceDevice
3/27/2012 29Technical Seminar DESY Zeuthen
BasdaBasda -- ServiceService
3/27/2012 30Technical Seminar DESY Zeuthen
3/28/2012
16
BasdaBasda –– Interface Def. LanguageInterface Def. LanguageAsynchronous communication via bridge member functionsWhat about synchronous stuff?General programming language independent interface◦ Similar to Corba or Sun RPC *.basda
Basda2xx ◦ Automatic generation of skeleton and stub code for the
target programming language◦ Special property sub-tree CMD for synchronous
invocations
3/27/2012 Technical Seminar DESY Zeuthen 31
LN Instrument Control SoftwareLN Instrument Control Software
3/27/2012 Technical Seminar DESY Zeuthen 32
3/28/2012
17
Computer ArchitectureComputer Architecture
3/27/2012 Technical Seminar DESY Zeuthen 33
LAOS SubLAOS Sub--SystemSystem
3/27/2012 Technical Seminar DESY Zeuthen 34
3/28/2012
18
LIRCS SubLIRCS Sub--SystemSystem
3/27/2012 Technical Seminar DESY Zeuthen 35
Observation Preparation SoftwareObservation Preparation Software
3/27/2012 Technical Seminar DESY Zeuthen 36
3/28/2012
19
Observation Preparation SoftwareObservation Preparation Software
3/27/2012 Technical Seminar DESY Zeuthen 37
3/27/2012 Technical Semniar DESY Zeuthen 38