Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN"— Presentation transcript:

1 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

2 Overview of migrated systems. Tecnical approach. Main challenges.
Contents Overview of migrated systems. Tecnical approach. Main challenges. Future. Conclusions. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

3 Overview of migrated systems.
ECLIPSECON FRANCE 2013 Overview of migrated systems.

4 GMV systemS GMV migrated systems:
Satellite Control System (SCS) – hifly: Responsible for monitoring and control the satellite. Flight Dynamics System (FDS) – focus: Responsible for determining and predecting satellite orbit. Mission Planning System (MPS) - flexplan : Responsible for planning the satellite operations. SCS MPS FDS Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

5 Satellite control system
SCS GUI Applications C++/Ilog Views Backend C++ CORBA & TCP/IP Client/server architecture Communication through CORBA and TCP/IP. Server developed in C++. Client developed in C++/Ilog Views. Real-time and off-line. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

6 Flight dynamics system
FDS GUI Applications Tcl/Tk Backend TCP/IP Tcl Client/server architecture. Communication through TCP/IP. Server developed in Tcl. Client developed in Tcl/Tk. Off-line application. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

7 Mission planning system
MPS GUI Applications C++/Ilog Views Backend C++ CORBA Client/server architecture. Communication through CORBA. Server developed in C++. Client developed in C++/Ilog Views. Off-line application. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

8 Replace UI layer. GOALS Reuse existing business logic.
Harmonise displays. Improve usability. Improve system maintenability. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

9 Advanced development environment:
Requirements Performance. Extensibility. Configurability. Multiplatform. Advanced development environment: Eclipse IDE Automatic build system Continuous Integration Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

10 Platform independent with native look&feel. Not only a GUI toolkit
Why Eclipse rcp? Platform independent with native look&feel. Not only a GUI toolkit Plugin-based pogramming model Extension points Active community and industry support At the time being adopted by the European Space Agency for their ground systems infrastructure. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

11 ECLIPSECON FRANCE 2013 Technical approach

12 Architecture overview (I)
We had … We did … SCS FDS MPS Eclipse RCP Applications GUI Applications C++/Ilog Views GUI Applications Tcl/Tk GUI Applications C++/Ilog Views Service adapter Service adapter Service adapter SCS CORBA Backend C++ FDS Backend TCP/IP Tcl MPS Backend C++ CORBA Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

13 Architecture overview (II)
General Architecture: Backend: Business Logic Middleware GUI Application: Services Layer Displays Layer Services Layer Displays Layer Backend Java/Eclipse RCP Middleware GUI Application Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

14 ServiceS Layer (I) Backend
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. Services Layer Displays Layer Backend Java/Eclipse RCP Middleware GUI Application Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

15 ServiceS Layer (II) Application Application Backend Backend
This layer allows us : Option A: Replacement of communication layer Service adapters Application Backend Java/Eclipse RCP Middleware: CORBA Backend Middleware: Message oriented Service adapters Application Java/Eclipse RCP Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

16 ServiceS Layer (III) Application Backend Backend
This infraestructure allows us : Option B: Replacement of presentation layer Service adapters Application Backend Java/Eclipse RCP Middleware: CORBA Backend Java Middleware: CORBA WS wrapper Service adapters Middleware: WS Web Application GWT Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

17 DISPLAYS Layer (I) Backend
Reusable graphical components at functional level: Display: GUI element to vizualize and manipulate information: Access to business logic via Services Adapters. Eclipse View An Application is just a displays container. Mechanism to save/restore application status. Services Layer Displays Layer Backend Java/Eclipse RCP Middleware GUI Application Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

18 DISPLAYS Layer (II) Visual style: GUI guidelines: Common look & feel.
Uniform interaction paradigms. Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

19 GUI Elements Set of reusable widgets:
Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

20 How to create a new application?
We have the backend and some services… GUI Application 1. Define new Services 2. Define the Services Layer Displays Layer 3. Define the Displays Layer Services Layer Middleware Backend Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

21 Result… Adoption of Eclipse RCP to build rich graphical user interface for the space domain 18/09/2018

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 Ground Segment Target Platform E E Adoption of Eclipse RCP to build rich GUI for space domain 2013/05/06

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 2013/05/06

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 Versions E E E E Adoption of Eclipse RCP to build rich GUI for space domain 2013/05/06

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 2013/05/06

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 2013/05/06

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? Jaret timebars? Adoption of Eclipse RCP to build rich GUI for space domain 2013/05/06

29 ECLIPSECON FRANCE 2013 Future

30 Eclipse 4 & RAP Eclipse 4 Eclipse RAP
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 2013/05/06

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 2013/05/06

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 2013/05/06

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 2013/05/06

35 ECLIPSECON FRANCE 2013 Questions?

36 Thank you Rosa María García Casado
Manuel Casado Martín


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

Similar presentations


Ads by Google