adoption of eclipse rcp to build rich gui for the space domain

36
© GMV, 2011 Property of GMV All rights reserved ADOPTION OF ECLIPSE RCP TO BUILD RICH GUI FOR THE SPACE DOMAIN ECLIPSECON FRANCE 2013

Upload: anka

Post on 12-Feb-2016

18 views

Category:

Documents


0 download

DESCRIPTION

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 : - PowerPoint PPT Presentation

TRANSCRIPT

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

© GMV, 2011 Property of GMVAll rights reserved

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

ECLIPSECON FRANCE 2013

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

© GMV, 2011

Overview of migrated systems. Tecnical approach. Main challenges. Future. Conclusions.

CONTENTS

22/04/2023 Page 2Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

© GMV, 2011 Property of GMVAll rights reserved

Overview of migrated systems.ECLIPSECON FRANCE 2013

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

© GMV, 2011

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.

22/04/2023 Page 4Adoption of Eclipse RCP to build rich graphical user interface for the space domain

SCS

FDSMPS

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

© GMV, 2011

SATELLITE CONTROL SYSTEM

Client/server architecture Communication through CORBA and

TCP/IP. Server developed in C++. Client developed in C++/Ilog Views. Real-time and off-line.

22/04/2023 Page 5Adoption of Eclipse RCP to build rich graphical user interface for the space domain

SCS

GUIApplications

C++/Ilog Views

BackendC++

CORBA & TCP/IP

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

© GMV, 2011

FLIGHT DYNAMICS SYSTEM

Client/server architecture. Communication through TCP/IP. Server developed in Tcl. Client developed in Tcl/Tk. Off-line application.

22/04/2023 Page 6Adoption of Eclipse RCP to build rich graphical user interface for the space domain

FDS

GUIApplications

Tcl/Tk

Backend

TCP/IP

Tcl

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

© GMV, 2011

MISSION PLANNING SYSTEM

Client/server architecture. Communication through CORBA. Server developed in C++. Client developed in C++/Ilog Views. Off-line application.

22/04/2023 Page 7Adoption of Eclipse RCP to build rich graphical user interface for the space domain

MPS

GUIApplications

C++/Ilog Views

BackendC++

CORBA

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

© GMV, 2011

Replace UI layer. Reuse existing business logic. Harmonise displays. Improve usability. Improve system maintenability.

GOALS

22/04/2023 Page 8Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

© GMV, 2011

Performance.Extensibility. Configurability.Multiplatform.Advanced development environment:

– Eclipse IDE – Automatic build system– Continuous Integration

REQUIREMENTS

22/04/2023 Page 9Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

© GMV, 2011

Platform independent with native look&feel.Not only a GUI toolkit

– Plugin-based pogramming model– Extension points

Active community and industry supportAt the time being adopted by the European

Space Agency for their ground systems infrastructure.

WHY ECLIPSE RCP?

22/04/2023 Page 10Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

© GMV, 2011 Property of GMVAll rights reserved

Technical approachECLIPSECON FRANCE 2013

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

© GMV, 2011

ARCHITECTURE OVERVIEW (I)

22/04/2023 Page 12Adoption of Eclipse RCP to build rich graphical user interface for the space domain

We had …

SCSSCS FDSFDS MPSMPS

GUIApplications

Tcl/Tk

CORBA

BackendC++

Backend

TCP/IP

Tcl

BackendC++

CORBA

Service adapter Service adapter Service adapter

Eclipse RCP ApplicationsGUIApplications

C++/Ilog Views

We did …

GUIApplications

C++/Ilog Views

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

© GMV, 2011

ARCHITECTURE OVERVIEW (II)

22/04/2023 Page 13Adoption of Eclipse RCP to build rich graphical user interface for the space domain

Services Layer

Displays Layer

Backend

Java/Eclipse RCP

Middleware

GUI ApplicationGeneral Architecture:

Backend: Business Logic

Middleware

GUI Application:– Services Layer– Displays Layer

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

© GMV, 2011

SERVICES LAYER (I)

22/04/2023 Page 14Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

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

© GMV, 2011

SERVICES LAYER (II)

22/04/2023 Page 15Adoption of Eclipse RCP to build rich graphical user interface for the space domain

This layer allows us :– Option A: Replacement of communication layer

Serviceadapters

Application

Backend

Java/Eclipse RCP

Middleware: CORBA

Backend

Middleware: Message oriented...

Serviceadapters

ApplicationJava/Eclipse RCP

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

© GMV, 2011

SERVICES LAYER (III)

22/04/2023 Page 16Adoption of Eclipse RCP to build rich graphical user interface for the space domain

This infraestructure allows us :– Option B: Replacement of presentation layer

Serviceadapters

Application

Backend

Java/Eclipse RCP

Middleware: CORBA

Backend

Java

Middleware: CORBA

WS wrapperService

adapters

Middleware: WS

Web Application

GWT

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

© GMV, 2011

DISPLAYS LAYER (I)

22/04/2023 Page 17Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

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

© GMV, 2011

DISPLAYS LAYER (II)

22/04/2023 Page 18Adoption of Eclipse RCP to build rich graphical user interface for the space domain

Visual style: GUI guidelines:– Common look & feel.– Uniform interaction paradigms.

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

© GMV, 2011

Set of reusable widgets:

GUI ELEMENTS

22/04/2023 Page 19Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

© GMV, 2011

GUI ApplicationDisplays Layer

HOW TO CREATE A NEW APPLICATION?

22/04/2023 Page 20Adoption of Eclipse RCP to build rich graphical user interface for the space domain

Backend

1. Define new Services

Services Layer

2. Define the Services Layer

Middleware

3. Define the Displays Layer

We have the backend and some services…

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

© GMV, 2011

Result…

22/04/2023 Page 21Adoption of Eclipse RCP to build rich graphical user interface for the space domain

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

© GMV, 2011 Property of GMVAll rights reserved

Main ChallengesECLIPSECON FRANCE 2013

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

© GMV, 2011

Ground Segment Target Platform

SCS

A COMMON TARGET PLATFORM (I) 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

2013/05/06 Page 23Adoption of Eclipse RCP to build rich GUI for space domain

FDS

MPS

E E

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

© GMV, 2011

Ground Segment Target Platform

SCS

A COMMON TARGET PLATFORM (II) Also a Target Platform per

ground segment system. Functionality common to

specific system. Hierarchy of plug-ins:

– Ground Segment– Subsystem– Specific per mission

2013/05/06 Page 24Adoption of Eclipse RCP to build rich GUI for space domain

FDS

MPS

E E

SCS Target Platform MPS Target Platform FDS Target Platform

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

© GMV, 2011

Ground Segment Target Platform

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

2013/05/06 Page 25Adoption of Eclipse RCP to build rich GUI for space domain

SCS Target Platform

E EE EE E

Target Definition

Versions

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

© GMV, 2011

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.

2013/05/06 Page 26Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011

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.

2013/05/06 Page 27Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011

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?

2013/05/06 Page 28Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011 Property of GMVAll rights reserved

FutureECLIPSECON FRANCE 2013

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

© GMV, 2011

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

2013/05/06 Page 30Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011

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.

2013/05/06 Page 31Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011

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…

2013/05/06 Page 32Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011 Property of GMVAll rights reserved

ConclusionECLIPSECON FRANCE 2013

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

© GMV, 2011

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.

2013/05/06 Page 34Adoption of Eclipse RCP to build rich GUI for space domain

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

© GMV, 2011 Property of GMVAll rights reserved

Questions?ECLIPSECON FRANCE 2013

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

© GMV, 2011 Property of GMVAll rights reserved

Thank youRosa María García CasadoEmail: [email protected]

Manuel Casado MartínEmail: [email protected]

www.gmv.com