leveraging the eclipse ecosystem for the scientific community tony lam @ ansto andy götz @ esrf...
Post on 19-Dec-2015
219 views
TRANSCRIPT
Leveraging the Eclipse Ecosystem for the Scientific Community
Tony Lam @ ANSTO
Andy Götz @ ESRF
ICALEPCS 2005
Australian Nuclear Science and Technology Organisation (ANSTO)
OPAL
Open Pool Australian Light-water Reactor
Neutron Scattering
Probing material structure with neutron beam
Eclipse
Eclipse
Eclipse
EclipseEclipse
Eclipse Invasion
• Eclipse Workshop
• EPICS Workshop
• TANGO Workshop
• MDA Workshop
• Oral Presentations MDA Control Systems and
Eclipse (TU1.4) Eclipse Ecosystem (TH3A.3) EPICS Office (FR2.6)
What is Eclipse?
• Official Definition:Eclipse is an open source community whose
projects are focused on providing an extensible development platform and application frameworks for building software.
• Eclipse EvolutionVersion 1.0: Open Source Java IDEVersion 2.0: Universal Tooling PlatformVersion 3.0: Platform for Rich Client Application
Eclipse as an IDE• Language supported:
Java, C/C++, C#, FORTRAN, Ruby, Python, Ada, AspectJ……you name it!!
• Agile Method Incremental build, Refactoring
• Test Driven Development JUnit Test, Automated Testing Framework
• Model Driven Software Development Open Architectureware
• Team Concurrent Development support CVS, Subversion
• Plus More ANT support, Interactive Debugger, Visual Editor…
Eclipse Overview
Platform Runtime
Workspace
Help
Team
Workbench
JFace
SWT
Eclipse Project
JavaDevelopment
Tools(JDT)
Their Tool
Your Tool
AnotherTool
Plug-inDevelopmen
tEnvironment
(PDE)
Eclipse Platform
Debug
Eclipse Ecosystem
• 30+ open source official Eclipse projects
• 1000+ commercial / open source plug-ins
• EclipsePlugins
http://eclipse-plugins.2y.net/eclipse/index.jsp
• Eclipse Plugin Central
http://www.eclipseplugincentral.com/
http://eclipse-plugins.2y.net/eclipse/index.jsp
8 Top Level Eclipse Project I
• The Eclipse Project Platform, Java, Plug-in development support
• The Eclipse Tools Project Modelling, C/C++, UML
• The Eclipse Technology Project Academic / Research, Embedded System, Communication,
Application Lifecycle management
• The Eclipse Web Tools Platform Project J2EE development
8 Top Level Eclipse Project II
• The Eclipse Test and Performance Tools Platform Project (TPTP)
• Business Intelligence and Reporting Tools Project (BIRT)
• Data Tools Platform Project (DTP)
• Device Software Development Platform (DSDP)
Eclipse Consortium
Eclipse Phenomena
• Wide range of mainstream IT industry usersOfficial use: 2% 8% in last 6 month (end of ’04)Unofficial use: 44% (end of ’04)
• Becoming a new teaching tool in universities
• Increasing popularity among the scientific community
• Eclipse’s open source model is changing the future of software industry
New Software Collaboration Model
• IDE Applications IBM Websphere Studio, JBuilder 2006, Eclipse, Palm
OS Developer Suite
• Software Testing Tools IBM Rational Application Tester, Scapa Test &
Performance Platform
Commercial Part
Open Source Platform Collaborate
Compete
Product A Product B
Eclipse RCP
• RCP = Rich Client Platform• RCP = Really Cool Product!?• Subset of Eclipse minium set of component to
build a standalone application
• A common platform for collaborationGood framework contributes up to 80% of codeBetter spend more effort on business logicCode sharing with your communityLeverage existing Eclipse plug-in to your application!!
Simple RCP
Extreme Eclipse
• BitTorrentAzureus (top sourceforge project)
• SchoolEclipseSchool management
• Gmail
• eBay
• French Wine Test
Parallel Tool Platform (PTP)
• Running and debugging application on parallel computing environment
• Collaborative effort between Los Alamos National Laboratory, Monash University, IBM, Intel, …
• Good example of cross domain open source collaboration
• Official Eclipse sponsored project
GumTree Platform• Open source application framework for building a
scientific workbench that supports data acquisition and data analysis
• Control System Neutral TANGO, EPICS, SICS…
• Visualisation Tool Neutral OpenGL, VTK, ISAW, Ptplot…
• Data Format Neutral HDF, XML, NeXus…
• Collaboration ANSTO, ESRF, ILL, PSI, and SAFARI-1 Reactor
GumTree Philosophy
• Leveraging many Java / Eclipse technologies
• Code reusability
• A common software platform in control system / experimental physics domain
• Platform for software collaboration
Breaking News!!
• Eclipse Community for the Control System Community has been Proposed!!EPICS OfficeGumTree communityExisting Eclipse based CS applicationsEclipse user group in ICALEPCS Plus the huge Eclipse community
• We should not only leverage the IDE technology, but also leverage their model for collaboration.
Where to start Eclipse
• http://www.eclipse.org
• http://www.eclipsecon.org (2005)
• http://gumtree.sourceforge.net
• Contact: [email protected]
Eclipse History
• Started by IBM since 1998 A platform to unite IBM Visual Age products.
• IBM handed over the control to a NOT FOR PROFIT consortium, the Eclipse Foundation, at 2004 IBM also donated $40million to the Eclipse Foundation
• The Eclipse Foundation now as over 100 commercial members Each member must use Eclipse technology on at least one of
their project
Eclipse Architecture
•Software Development
•Medical Billing System
•Scientific Computing