Topaloudis 3 rd DevelopersCERN Forum 15022017 Background What is FESA Front End Software Architecture is A Framework that was Developed at CERN for Realtime SW for frontend computers ID: 786076
Download The PPT/PDF document "FESA Graph Editor Athanasios" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
FESA Graph Editor
Athanasios
Topaloudis
3
rd
Developers@CERN
Forum
15/02/2017
Slide2Background
–
What is FESA?
Front End Software Architecture is
A Framework
that was
Developed at CERN for
Real-time SW for front-end computers
2
Slide3Background
–
What is FE?
Accelerator Tunnel
HW Equipment
Front End Computer with Acquisition Cards
Optical Link
3
Slide4Background
–
What is FESA SW?
Hardware
4
FESA SW
Server
Real Time
User
Data Store
Slide5Background
–
How does it work?
FESA Class Design
FESA Model
FESA Class
Project skeleton
RT Scheduling
generates
validation
revision
5
Slide6XML Editor
Background
–
User Interface
6
Design Editor
FESA Toolbar
C++ Project Explorer
Console
Validation Error View
Slide7Background
–
Summary FESA
Essential framework for real-time SW development
C++ code generation based on XML documentRT scheduling
Comes as an Eclipse plugin
Impossible overview of the SWConnection among components is not obviousDesign editing can be cumbersome
7
Let’s do something about it…
Users
–
Tools Improvement – Round 1
8
Design Analysis
Graph Library
Output
Slide9Graph Viewer
–
Design Overview
9
Slide10Graph Viewer
–
Design Overview
10
Slide11Users
–
Tools Improvement – Round 2
11
Dynamic Model
Graph Editor Library
FESA API
XML parsing
DOM tree
Use of FESA model
Design Fragmenting (Server, RT, Data Store)
Command Stack (
undo
/
redo
)
MVC
CSS custom view
Drag ‘n Drop
Large Graph Support
Zoom
FESA Model
Validation
Code Generation
Design Editing
Slide12Graph Editor
–
Overview
12
Real Time
Server
Input
Server
Output
Graph & FESA Toolbar
Slide13Graph Editor
–
Data Store
13
Slide14Graph Editor
–
Design Overview
14
Complex & Messy
Complex & Messy
Slide15Graph Editor
–
Design Overview
15
Complex but Clean
Complex but Clean
Slide16Graph Editor
– Components
Connection
16
Error Detection
Slide17Graph Editor
–
Additional Functionality
17
Mini Map
Zoom
Large Graph Support
Slide18Graph Editor
–
Customization
18
CSS Based View
Slide19Graph Editor
–
Design Editing
19
Adding FESA Components
Slide20Graph
Editor
20
Wrap Up:
Standalone JavaFX
application
Graphical abstraction of low level XMLFESA SW Design overview – Easy Documentation!Fragmentation of the FESA design
Made by Users… for Users
Future:
Included in
the plugin
Included in the release process
Fully
editable
design
Slide21Graph Editor
–
The whole picture
FESA Class Design
FESA Model
FESA Class
Project skeleton
RT Scheduling
generates
validation
revision
21
FESA Class Graph