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

Slides:



Advertisements
Similar presentations
Personalized Presentation in Web-Based Information Systems Institute of Informatics and Software Engineering Faculty of Informatics and Information Technologies.
Advertisements

Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
WP2: Design principles; 2 nd AtGentive GM May 2006, Oxford, UK AtGentive WP2 Design Principles AtGentive; 2 nd General Meeting; May 2006, Oxford,
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Development of mobile applications using PhoneGap and HTML 5
November 2011 At A Glance GREAT is a flexible & highly portable set of mission operations analysis tools that increases the operational value of ground.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Copyright , Synchrony Systems, Inc. EGL Rich UI / Web 2.0 GUI to RUI Transformation with Enterprise Application Modernizations Slavik Zorin Founder.
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space Cracow Grid Workshop’10 Kraków, October 11-13,
FP OntoGrid: Paving the way for Knowledgeable Grid Services and Systems WP8: Use case 1: Quality Analysis for Satellite Missions.
The Old World Meets the New: Utilizing Java Technology to Revitalize and Enhance NASA Scientific Legacy Code Michael D. Elder Furman University Hayden.
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
At A Glance VOLT is a freeware, platform independent tool set that coordinates cross-mission observation planning and scheduling among one or more space.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
Web mapping interoperability in practice, a Java approach guided by the OpenGis Web Map Server Interface Specification Pedro Fernández, R. Béjar, M.A.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Dr. Rado Kotorov Technical Director Strategic Product Mgt. Jeff Shein Technical Manager Creating Web 2.0 Rich Internet Applications (RIA) and Dashboards.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
© GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS Spring Meeting - Montreal Fran Martínez GMVSA 4081/04.
GEONS Ground Support System Java 7, JavaFX and the NetBeans Platform supporting NASA Missions Operations.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Control in ATLAS TDAQ Dietrich Liko on behalf of the ATLAS TDAQ Group.
Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi.
CSS – Control System Studio
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Architecture for an Ontology and Web Service Modelling Studio Michael Felderer & Holger Lausen DERI Innsbruck Frankfurt,
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
Basics of SOA Testing Assurance Services Unit 24 February 2016.
GLite build and integration system Building and Packaging Robert HARAKALY
ETICS An Environment for Distributed Software Development in Aerospace Applications SpaceTransfer09 Hannover Messe, April 2009.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
TECHNICAL ASSISTANCE FOR THE CONVERSION OF RBPAPs INTO RBMPs DATA MANAGEMENT INCEPTION WORKSHOP ESTAMBUL February Eusebio CRUZ GARCÍA.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
CIS 375 Bruce R. Maxim UM-Dearborn
J2EE Platform Overview (Application Architecture)
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Goals Give you a feeling of what Eclipse is.
Google Web Toolkit Tutorial
Software Tools and Environments
METERON Operations Environment and Prototype Robotic Services
Design and realization of Payload Operation and Application system of China’s Space Station Wang HongFei 首页.
A technical look at new capabilities and features
Open-O Client Project Proposal
Web Application Architectures
Ch 15 –part 3 -design evaluation
Architecture, Components, Configuration
JavaServer Faces: The Fundamentals
An Introduction to Software Architecture
Operating Systems : Overview
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Chapter 17: Client/Server Computing
Execute your Processes
The Anatomy and The Physiology of the Grid
Quality Assurance for Component-Based Software Development
Introduction to SOA and Web Services
The Anatomy and The Physiology of the Grid
An Introduction to Eclipse
Architectural Mismatch: Why reuse is so hard?
EKSE: A Command Line Interface for EGS-CC based Systems
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

ECLIPSECON FRANCE 2013 Technical approach

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ECLIPSECON FRANCE 2013 Future

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

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

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

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

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