370 likes | 517 Views
ECLIPSECON FRANCE 2013. ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN. Contents. Overview of migrated systems . Tecnical approach . Main challenges . Future . Conclusions . ECLIPSECON FRANCE 2013. Overview of migrated systems. GMV systemS. GMV migrated systems :
E N D
ECLIPSECON FRANCE 2013 ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN
Contents • Overview of migratedsystems. • Tecnicalapproach. • Mainchallenges. • Future. • Conclusions. Adoption of Eclipse RCP to build rich graphical user interface for the space domain
ECLIPSECON FRANCE 2013 Overview of migrated systems.
GMV systemS • GMV migratedsystems: • Satellite Control System (SCS) – hifly: • Responsibleformonitoring and control thesatellite. • Flight Dynamics System (FDS) –focus: • Responsiblefordetermining and predectingsatelliteorbit. • MissionPlanningSystem (MPS) -flexplan : • Responsibleforplanningthesatelliteoperations. SCS MPS FDS Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Satellite control system SCS • Client/server architecture • Communicationthrough CORBA and TCP/IP. • Server developed in C++. • Clientdeveloped in C++/IlogViews. • Real-time and off-line. GUI Applications C++/IlogViews CORBA & TCP/IP Backend C++ Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Flight dynamicssystem • Client/server architecture. • Communicationthrough TCP/IP. • Server developed in Tcl. • Clientdeveloped in Tcl/Tk. • Off-line application. FDS Tcl/Tk GUI Applications TCP/IP Backend Tcl Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Missionplanningsystem • Client/server architecture. • Communicationthrough CORBA. • Server developed in C++. • Clientdeveloped in C++/IlogViews. • Off-line application. MPS GUI Applications C++/IlogViews CORBA Backend C++ Adoption of Eclipse RCP to build rich graphical user interface for the space domain
GOALS • Replace UI layer. • Reuseexistingbusinesslogic. • Harmonisedisplays. • Improveusability. • Improvesystemmaintenability. Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Requirements • Performance. • Extensibility. • Configurability. • Multiplatform. • Advanceddevelopmentenvironment: • Eclipse IDE • Automaticbuildsystem • ContinuousIntegration Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Why Eclipse rcp? • Platformindependentwithnativelook&feel. • Notonly a GUI toolkit • Plugin-basedpogrammingmodel • Extensionpoints • Active community and industrysupport • At the time beingadoptedbytheEuropeanSpace Agency fortheirgroundsystemsinfrastructure. Adoption of Eclipse RCP to build rich graphical user interface for the space domain
ECLIPSECON FRANCE 2013 Technical approach
Architectureoverview (I) Wedid … Wehad … SCS FDS MPS Eclipse RCP Applications GUI Applications GUI Applications GUI Applications C++/IlogViews C++/IlogViews Tcl/Tk Serviceadapter Serviceadapter Serviceadapter SCS CORBA FDS TCP/IP CORBA MPS Backend C++ Backend Backend C++ Tcl Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Architectureoverview (II) General Architecture: • Backend: Business Logic • Middleware • GUI Application: • Services Layer • Displays Layer GUI Application DisplaysLayer ServicesLayer Java/Eclipse RCP Middleware Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain
ServiceSLayer (I) • Decouple the presentation and business logic that interact exclusively through a middleware: • Service: Backend element that exposes some business logic. • Service Adapters: Proxy that wraps the access to a service. • Written in Java. • No dependency on UI elements. • No dependency on Eclipse API. • No additional business logic. • Mechanism to consume services transparently. GUI Application DisplaysLayer ServicesLayer Java/Eclipse RCP Middleware Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain
ServiceSLayer(II) • This layer allows us : • Option A: Replacement of communication layer Application Application Java/Eclipse RCP Java/Eclipse RCP Service adapters Service adapters Middleware: Messageoriented Middleware: CORBA Backend Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain
ServiceSLayer(III) • This infraestructure allows us : • Option B: Replacement of presentation layer Web Application Application GWT Java/Eclipse RCP Middleware: WS Service adapters WS wrapper Java Service adapters Middleware: CORBA Middleware: CORBA Backend Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain
DISPLAYS Layer (I) • Reusable graphical components at functional level: • Display: GUI elementtovizualize and manipulateinformation: • Access tobusinesslogicviaServicesAdapters. • Eclipse View • AnApplicationisjust a displayscontainer. • Mechanismtosave/restoreapplication status. GUI Application DisplaysLayer ServicesLayer Java/Eclipse RCP Middleware Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain
DISPLAYS Layer (II) • Visual style: GUI guidelines: • Common look & feel. • Uniforminteractionparadigms. Adoption of Eclipse RCP to build rich graphical user interface for the space domain
GUI Elements • Set of reusable widgets: Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Howtocreate a new application? Wehavethebackend and someservices… GUI Application 1. Define new Services DisplaysLayer 2. Define theServicesLayer 3. Define theDisplaysLayer ServicesLayer Middleware Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain
Result… Adoption of Eclipse RCP to build rich graphical user interface for the space domain
ECLIPSECON FRANCE 2013 Main Challenges
A Common Target Platform (I) SCS FDS • Target Platform is a set of plug-ins to reuse among products. • Different ground segment systems • Sharing some common functionality • Identified a set of plug-ins for common applications • The Ground Segment Target Platform contains • Ground Segment plug-ins • Eclipse RCP plug-ins • Plug-ins from third party products MPS GroundSegment Target Platform E E Adoption of Eclipse RCP to build rich GUI for space domain
A Common Target Platform (II) SCS FDS • Also a Target Platform per ground segment system. • Functionality common to specific system. • Hierarchy of plug-ins: • Ground Segment • Subsystem • Specific per mission MPS SCS Target Platform MPS Target Platform FDS Target Platform Ground Segment Target Platform E E Adoption of Eclipse RCP to build rich GUI for space domain
A Common Target Platform (III) • Complex to handle… • Evolution of common plugins • Need to create a Target Definition: • List of plug-ins for a specific development Target Definition SCS Target Platform Ground Segment Target Platform E E E E Versions E E Adoption of Eclipse RCP to build rich GUI for space domain
A common development environment • Defining a common Eclipse IDE facilitates the process: • Share a Target Definition • Definition a set of common coding rules. • Checked with Checkstyle, Eclipse formatter, Clean-up etc. • Inspection of violations with Sonar. Adoption of Eclipse RCP to build rich GUI for space domain
A common BUILD system • Complex build systems can be difficult. • Common build for all new RCP products • Origins: Shell scripts • First steps: ANT Eclipse Plugin Development Environment (PDE) • In process: moving to Maven + Tycho • Next steps: • Use Nexus as repository manager for the common plug-ins. Adoption of Eclipse RCP to build rich GUI for space domain
SWT Related specific ISSUES • Real-time display of Telemetry data in different types of displays • Initial prototyping lead to performance problems (high CPU consumption with high refresh rates) • Solved by using SWING in displays with high refresh rate • Problems with SWT-SWING bridge • Lack of advanced SWT widgets • Gantt Charts: Nebula? Jarettimebars? Adoption of Eclipse RCP to build rich GUI for space domain
ECLIPSECON FRANCE 2013 Future
Eclipse 4 & RAP • Eclipse 4 • Currently all applications based on 3.x • Not sure on best approach to migrate… • New developments based on 4.x • Eclipse RAP • Considering creation of web interfaces in addition to desktop ones • Prototyping phase • Considering single source for new developments Adoption of Eclipse RCP to build rich GUI for space domain
New COMPONENTS (I) • 3D applications • Display/manage 3D models • Flight of satellites in real or simulated time • Views of terrain (Mars, Moon…) • Plan to use • OpenGL + SWT • NASA’s World Wind Java. Adoption of Eclipse RCP to build rich GUI for space domain
New COMPONENTS (II) • Geographic Information Systems (GIS) • Display data over maps • Rover path over Mars surface • Science data from earth observation satellites • Global navigation systems performance data • Evaluating uDig. Considering NASA’s WWJ for 3D contexts. • Not many alternatives… Adoption of Eclipse RCP to build rich GUI for space domain
ECLIPSECON FRANCE 2013 Conclusion
Conclusion • RCP provides a good mechanism to implement modular applications. • Satisfied clients! • Migration of existing products to RCP can be complex. • Extensible & configurable per product. • Nice native look&feel… • But some Linux / Windows mismatches • Steep learning curve. • But an active community. • SWT issues: lack of advanced widgets, performance problems. Adoption of Eclipse RCP to build rich GUI for space domain
ECLIPSECON FRANCE 2013 Questions?
Thank you Rosa María García Casado Email: rmcasado@gmv.com Manuel Casado Martín Email: mcasado@gmv.com www.gmv.com