trends in software for large astronomy projects

13
1 Trends in Software Trends in Software for for large astronomy large astronomy projects projects G.Chiozzi, A.Wallander – ESO, Germany G.Chiozzi, A.Wallander – ESO, Germany K.Gillies – Gemini Observatory, La Serena, Chile K.Gillies – Gemini Observatory, La Serena, Chile B.Goodrich, S.Wampler - National Solar B.Goodrich, S.Wampler - National Solar Observatory, Tucson, AZ Observatory, Tucson, AZ J.Johnson, K.McCann – W.M.Keck Observatory, J.Johnson, K.McCann – W.M.Keck Observatory, Kamuela, HI Kamuela, HI G.Schumacher – National Optical Astronomy G.Schumacher – National Optical Astronomy Observatories, La Serena, Chile Observatories, La Serena, Chile D.Silva – AURA/Thirty Meter Telescope, Pasadena, D.Silva – AURA/Thirty Meter Telescope, Pasadena, CA CA

Upload: fuller-head

Post on 03-Jan-2016

19 views

Category:

Documents


0 download

DESCRIPTION

Trends in Software for large astronomy projects. G.Chiozzi, A.Wallander – ESO, Germany K.Gillies – Gemini Observatory, La Serena, Chile B.Goodrich, S.Wampler - National Solar Observatory, Tucson, AZ J.Johnson, K.McCann – W.M.Keck Observatory, Kamuela, HI - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Trends in Software  for  large astronomy projects

11

Trends in Software Trends in Software for for

large astronomy projectslarge astronomy projectsG.Chiozzi, A.Wallander – ESO, GermanyG.Chiozzi, A.Wallander – ESO, Germany

K.Gillies – Gemini Observatory, La Serena, ChileK.Gillies – Gemini Observatory, La Serena, ChileB.Goodrich, S.Wampler - National Solar Observatory, Tucson, AZB.Goodrich, S.Wampler - National Solar Observatory, Tucson, AZ

J.Johnson, K.McCann – W.M.Keck Observatory, Kamuela, HIJ.Johnson, K.McCann – W.M.Keck Observatory, Kamuela, HIG.Schumacher – National Optical Astronomy Observatories, La G.Schumacher – National Optical Astronomy Observatories, La

Serena, ChileSerena, ChileD.Silva – AURA/Thirty Meter Telescope, Pasadena, CAD.Silva – AURA/Thirty Meter Telescope, Pasadena, CA

Page 2: Trends in Software  for  large astronomy projects

22

Aspects analyzedAspects analyzed TimelineTimeline ChallengesChallenges ArchitectureArchitecture FrameworksFrameworks Development methodologiesDevelopment methodologies Technological implementationTechnological implementation

HW platformsHW platformsOperating systemsOperating systemsProgramming languagesProgramming languagesUser Interfaces.User Interfaces.

Page 3: Trends in Software  for  large astronomy projects

33

TimelineTimeline

1990

2000

2005

2010

2015

2020

1995

VLT/VLTI

Gemini N/S

Keck

ALMA

LSST

ATST

E-ELTTMT

Page 4: Trends in Software  for  large astronomy projects

44

Challenges of new projectsChallenges of new projects

Synchronized multiple distributed control loops Synchronized multiple distributed control loops (wave front control)(wave front control)

Multi-level off-loading schemesMulti-level off-loading schemes Fault detection, isolation and recovery Fault detection, isolation and recovery

(E-ELT M1: 1000 segments with actuators and (E-ELT M1: 1000 segments with actuators and sensors)sensors)

Operational efficiency Operational efficiency (TMT requirement: on target in <5 minutes).(TMT requirement: on target in <5 minutes).

Page 5: Trends in Software  for  large astronomy projects

55

ArchitectureArchitecture

All major facilities in operation: three-tier architectureAll major facilities in operation: three-tier architecture High-level coordination systemsHigh-level coordination systems Low-level real time control computers (LCUs)Low-level real time control computers (LCUs) Devices with limited degree of intelligenceDevices with limited degree of intelligence

Fairly independent sub-systems: slow correction Fairly independent sub-systems: slow correction offloadingoffloading

Wave front control (adaptive optics and interferometry) Wave front control (adaptive optics and interferometry) introduces new requirements:introduces new requirements: Distributed real time synchronization and feedbackDistributed real time synchronization and feedback Significant physical separationSignificant physical separation

Systems of systems, often heterogeneousSystems of systems, often heterogeneous LCUs role is eroded on both sides.LCUs role is eroded on both sides.

Page 6: Trends in Software  for  large astronomy projects

66

FrameworksFrameworks

A uniform software framework has A uniform software framework has a value in simplifying development a value in simplifying development and maintenanceand maintenance

Frameworks adopted: • Keck and Gemini: EPICS, RTC• ESO Paranal and La Silla: VLT CCS• ALMA and other projects: ACS• ATST: ATSTCS

Common services: • Connection• Event• Command• Logging• Persistent store• Error handling

Isolate application from Isolate application from middleware providing a layer of middleware providing a layer of common servicescommon services

Separation between technical and Separation between technical and functional architecture now formally functional architecture now formally adopted.adopted.

Component based architectures Component based architectures emerged as particularly useful in emerged as particularly useful in distributed systemsdistributed systems

Sharing the technical framework Sharing the technical framework would allow sharing functional would allow sharing functional components .components .

Page 7: Trends in Software  for  large astronomy projects

77

Development methodologies and Development methodologies and modeling techniquesmodeling techniques

Our constraints:Our constraints: Multi-year observatory design periodsMulti-year observatory design periods Review structure and process imposed by funding agencies is Review structure and process imposed by funding agencies is

oriented to a waterfall approachoriented to a waterfall approach Floating requirementsFloating requirements

Methodology evolution:Methodology evolution: Mid ’80s/ mid ‘90s: Structured programmingMid ’80s/ mid ‘90s: Structured programming Mid ’90s/ beginning 2000: Object Oriented and UML Mid ’90s/ beginning 2000: Object Oriented and UML

((pragmatic approachpragmatic approach)) Now: SysML, agile methodologies:Now: SysML, agile methodologies:

Requirement management and traceabilityRequirement management and traceability Integration in a coherent system model as seen from Integration in a coherent system model as seen from

different disciplines different disciplines ..

Page 8: Trends in Software  for  large astronomy projects

88

Hardware platformsHardware platforms In most existing observatories:In most existing observatories:

High level coordination High level coordination → general purpose WS→ general purpose WS Real time → Local Control Units (often VME)Real time → Local Control Units (often VME) Devices attached directly to VMEsDevices attached directly to VMEs

Many more options are available now:Many more options are available now: High level coordination High level coordination → Personal Computers→ Personal Computers (Soft) Real time → PC with real time OS(Soft) Real time → PC with real time OS Intelligent devices on ETH or industrial buses (CAN)Intelligent devices on ETH or industrial buses (CAN) (Hard) Real time → DSPs and FPGAs(Hard) Real time → DSPs and FPGAs

Clusters for raw computing powerClusters for raw computing power Virtualization under evaluation. Trend for the future? Virtualization under evaluation. Trend for the future? ..

Page 9: Trends in Software  for  large astronomy projects

99

Operating systemsOperating systems

The 1990sThe 1990s Proprietary UNIXProprietary UNIX Proprietary RTOS (VxWorks dominating)Proprietary RTOS (VxWorks dominating)

The turn of the century: open sourceThe turn of the century: open source LinuxLinux Real Time LinuxReal Time Linux

And now?And now? Questioning LinuxQuestioning Linux Solaris re-emergingSolaris re-emerging Open source to stay (Solaris)Open source to stay (Solaris) MsWindows (and OPC)?MsWindows (and OPC)? Other players?Other players?

• OS neutrality• Real time Java• QNX• LabVIEW and LabView-RT• PLCs• FPGAs and DSPs ..

Page 10: Trends in Software  for  large astronomy projects

1010

Programming LanguagesProgramming Languages

The core language(s):The core language(s): Mid ’80s/ mid ‘90s: C dominationMid ’80s/ mid ‘90s: C domination Mid ’90s/ beginning 2000: C++ Mid ’90s/ beginning 2000: C++

takeovertakeover Now: Java explosion, C++ Now: Java explosion, C++

decline, C holdsdecline, C holds

LanguageLanguage KeckKeck VLTVLT

C C 251050 251050 246738 246738

C++ C++ 0 0 84400 84400

Capfast Capfast 130116 130116 0 0

Tcl/Tk Tcl/Tk 9408 9408 81657 81657

Others Others 118144 118144 64136 64136

Total Total 508718 508718 476931 476931

The glue: from Tcl/Tk to Python and overThe glue: from Tcl/Tk to Python and over LabVIEW’s role growingLabVIEW’s role growing We have to cope with:We have to cope with:

Different languages for different purposesDifferent languages for different purposes Highly distributed systems Highly distributed systems ..

Page 11: Trends in Software  for  large astronomy projects

1111

User InterfaceUser Interface A challenging area. Growing A challenging area. Growing

complexity.complexity. We are comfortable with We are comfortable with

Engineering UI developmentEngineering UI development We do not have skills for good We do not have skills for good

Operator UIsOperator UIs Java and Tcl/Tk the most Java and Tcl/Tk the most

used.used. GUI builders are not adequateGUI builders are not adequate Rapid prototyping: necessary, Rapid prototyping: necessary,

but with a dark sidebut with a dark side We cannot afford specialized We cannot afford specialized

UI development teams UI development teams ..

Page 12: Trends in Software  for  large astronomy projects

1212

ConclusionConclusion

New facilities are NOT scaled up versions of existing ones.New facilities are NOT scaled up versions of existing ones.Paradigm changes may be requiredParadigm changes may be required

Analysis of control system evolution in observatories is Analysis of control system evolution in observatories is on-goingon-going

We have identified clear common trendsWe have identified clear common trends We aim at:We aim at:

Sharing lessons learnedSharing lessons learned Identifying areas for cooperationIdentifying areas for cooperation Sharing architectural elements and infrastructureSharing architectural elements and infrastructure

Cooperation is made easier by international Cooperation is made easier by international collaborations and the open source movement collaborations and the open source movement ..

Page 13: Trends in Software  for  large astronomy projects

1313

Questions?Questions?

ESOESO www.eso.orgwww.eso.org – Email: [email protected] – Email: [email protected]

W.M.Keck W.M.Keck ObservatoryObservatory

http://www.keckobservatory.orghttp://www.keckobservatory.org

Gemini Gemini ObservatoryObservatory

http://www.gemini.eduhttp://www.gemini.edu

ALMAALMA http://www.alma.clhttp://www.alma.cl

ATSTATST http://atst.nso.eduhttp://atst.nso.edu

LSSTLSST http://www.lsst.orghttp://www.lsst.org

Thirty Meter Thirty Meter TelescopeTelescope

http://www.tmt.orghttp://www.tmt.org

Web Links

The authors represent just a subset of the projects in astronomy.Many more colleagues in the astronomical observatory community have given their ideas and time as we have developed this paper.