Presentation is loading. Please wait.

Presentation is loading. Please wait.

50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.

Similar presentations


Presentation on theme: "50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching."— Presentation transcript:

1 50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching

2 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope2 Project objectives As main exercise for the course we want to: –Develop a complete project, with all lifecycle steps. Obviously compressed in 4 days. –It will be a distributed development and distributed deployment –Various aspects of ACS will be put to test, for example: deployment, language transparency, Component/Container concepts. reuse –Very important will be the final integration and testing

3 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope3 The 50mm Telescope project We have to implement the Control and Data flow system for the 50mm telescope The telescope consists of the following HW: –Telescope Mount built with Lego Robotic Kit blocks: it uses the RCX control processor, two motors, limit sensors and position encoders –WebCam to capture images –Joystick to manually control the position of the telescope

4 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope4 Requirements Astronomers submit proposals by interfacing with a telescope database A scheduling system retrieves queued proposals from the database and performs automatic observations. Observations consist of pointing the telescope and acquiring images Astronomers retrieve the images resulting from the observations from the database Operators can control the telescope and the acquisition camera in manual mode

5 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope5 Project challenges Requirements collection: –The development team has to collect detailed requirements from the stakeholders (astronomer and operator) Distribution –Distributed development: we will identify subsystems and subsystems will be implemented by separate teams –Distributed deployment: the system will be distributed on many machines. For example each piece of hardware is connected to a different machine. The Database and the Scheduler are also in “separate locations”. Interface definition –External interfaces (to astronomer, operator and hardware) have to be defined early and in detail) –Once subsystems will have been identified, interfaces between subsystems will have to be decided and discussed. –Internal (but sometimes also external) interfaces will have to be re-discussed between the teams during development. A good job will mean few integration problems related to misunderstood or misaligned interfaces.

6 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope6 Project Challenges 2 Multiple languages: –Every subsystem is free to select the language(s) they prefer for the implementation, based on their experience and on the problem to be solved. Reuse: –We provide ready made ACS Components to control the hardware. –They have been implemented by other projects. –This means also that their interfaces are fixed. Integration: –The final result of the project will depend on the easiness of the final integration –To share code between the distributed teams, a CVS code configuration repository is used. –Every group has to take care of archiving their code as often as possible and get the updated from the other subsystems as often as possible. This allows to spot soon integration problems. Deadlines –The deadline for the delivery of a functional system is FIXED –The teams have to discuss and agree de-scoping, if necessary, to meet the deadline

7 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope7 Architecture

8 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope8 Users Astronomer (Jorge) Operator (Gianluca)

9 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope9 External interfaces Astronomer: –Store proposal –Get images Operator –Set mode –Manual mode Open/close camera Move telescope with Joystick –Automatic mode Start scheduler Stop scheduler –Status display Status of telescope Telescope position Image from camera (GUI available)

10 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope10 Subsystems Scheduler (Paola) –Implemented in Python –Challenges: multithreaded. Console (Randy) –Implemented in CPP –Challenges: reuse of Joystick component, needed asynchronous calls and callbacks to do it. DataBase (Jens) –Implemented in Python –Challenges: definition of data structures and Python mapping Instrument (Arne) –Implemented in Python –Challenges: reuse of WebCam component. Telescope (Jose) –Implemented in Python and also in Java –Reuse of Lego Mount component Integration (Gianluca) –Definition of the distributed deployment. –Challenges: deployment configuration database.

11 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope11 DB Interfaces storeProposal(filename) (used by Astronomer) file: 1 record per target [tid, ra, dec, expTime] getProposals() (used by Scheduler) returns list of targets getImage(tid) (used by Astronomer) storeImage(tid, image) (used by Instrument)

12 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope12 Scheduler Interfaces Start (used by Console) Stop (used by Console)

13 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope13 Telescope Interfaces status observe(tid, ra,dec, expTime) (used by Scheduler) moveTo(az, el) (used by Console) getActualPosition (used by console)

14 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope14 Instrument Interfaces cameraOn() (used by Console and Telescope) cameraOff() (used by Console) cameraOff(tid) This also saves the image in the DataBase (used by Console and Telescope)

15 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope15 Operator Interfaces –setMode(Auto/Manual) –Manual mode Open/close camera Move telescope with Joystick –Automatic mode Start scheduler Stop scheduler –Status display Status of telescope Telescope position Image from camera (GUI available)

16 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope16 Project CVS Structure 50MM – Subsystems/modules –ICD Here we store all Interfaces, separate from the implementation modules. This makes clear to everybody what are the area where changes need to be discussed and agreed with the users –Scheduler –DataBase –Telescope –OperatorConsole –Instrument –Integration This is where we put the deployment information to integrate the system and the integration tests and procedures.

17 ALMA Project ACS Course, 15 th to 19 th January 2007 50mm Telescope17 Conclusions We managed to get a working system “released” in time We had to do some de-scoping in the user interfaces. All functionality was available on command line, object explorer and/or scripts. But convenient GUIs were quite limited. Most interface problems have been resolved during development, by interactions between subsystems and stakeholders. Nevertheless, a number of interface problems appeared only at final integration time. Simulation of subsystems has been very useful to test the clients and to identify interface problems. We should have done more We discovered some system problems: good feedback for ACS All in all: a success!!!


Download ppt "50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching."

Similar presentations


Ads by Google