1 / 36

ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN

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 :

anka
Download Presentation

ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECLIPSECON FRANCE 2013 ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN

  2. Contents • Overview of migratedsystems. • Tecnicalapproach. • Mainchallenges. • Future. • Conclusions. Adoption of Eclipse RCP to build rich graphical user interface for the space domain

  3. ECLIPSECON FRANCE 2013 Overview of migrated systems.

  4. 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

  5. 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

  6. 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

  7. 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

  8. GOALS • Replace UI layer. • Reuseexistingbusinesslogic. • Harmonisedisplays. • Improveusability. • Improvesystemmaintenability. Adoption of Eclipse RCP to build rich graphical user interface for the space domain

  9. Requirements • Performance. • Extensibility. • Configurability. • Multiplatform. • Advanceddevelopmentenvironment: • Eclipse IDE • Automaticbuildsystem • ContinuousIntegration Adoption of Eclipse RCP to build rich graphical user interface for the space domain

  10. 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

  11. ECLIPSECON FRANCE 2013 Technical approach

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. GUI Elements • Set of reusable widgets: Adoption of Eclipse RCP to build rich graphical user interface for the space domain

  20. 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

  21. Result… Adoption of Eclipse RCP to build rich graphical user interface for the space domain

  22. ECLIPSECON FRANCE 2013 Main Challenges

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. ECLIPSECON FRANCE 2013 Future

  30. 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

  31. 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

  32. 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

  33. ECLIPSECON FRANCE 2013 Conclusion

  34. 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

  35. ECLIPSECON FRANCE 2013 Questions?

  36. Thank you Rosa María García Casado Email: rmcasado@gmv.com Manuel Casado Martín Email: mcasado@gmv.com www.gmv.com

More Related