SlideShare a Scribd company logo
1 of 23
Phoebus
June 2018
ANL EPICS Meeting
Kay Kasemir, ORNL
Kunal Shroff
Key CS-Studio Feedback, Developers & Users
Useful Applications
Nice Integration
- Fragile, long build process (>30 minutes!)
- Hard to create site-specific “Product”
- Awkward, haphazard window & workspace environment
Evolution of CS-Studio
Since ~2010:
Operational at several
sites
Eclipse
Channels
PV Table
Probe
PV Tree
Data Browser
BOY
Scan
… more …
Alarms
Java 8
Phoebus
Channels
PV Table
Probe
PV Tree
Data Browser
Display Builder
Scan
… more …
Alarms
Java 9, 10
First release
end of 2018
Eclipse
Channels
PV Table
Probe
PV Tree
Data Browser
Display Builder
Scan
… more …
Alarms
Java 8 (9, 10)
Since ~2016
SWT
JavaFX
Combined Product
BOY
Phoebus
Channels
PV Table
Probe
PV Tree
Data Browser
Display Builder
Scan
… more …
Alarms
Java 9, 10
Eclipse
Channels
PV Table
Probe
PV Tree
Data Browser
Display Builder
Scan
… more …
Alarms
Java 9, 10
One download
Invoking certain
functions in
CS-Studio/RCP
will start that
component in
CS-Studio/Phoebus
CS-Studio: Since ~2006 based on
• Great at the time:
• Build Setup
• Module System
• Preferences
• Extensibility
• Graphics … but there are now (better) alternatives
• Strong ties to IDE
- Awkward layout constraints for control system user interface
- “Workspace” that’s different from the file system
- Odd menu entries that we don’t need
From Eclipse to Phoebus
• Tycho/Maven build setup  Maven or ant
• OSGi bundles  Jar files, maybe later Java 9 modules
• RCP Extension Points  Java Services
• RCP Preferences  Java Preferences
• SWT  JavaFX
• Workspace  File System
• RCP Workbench  Phoebus “Docking”
“Phoebus”
• shadowed
• Phoebus (Greek for “bright”)
= Apollo as God of Light
SWT vs. JavaFX
SWT used to be better than AWT
AWT/Swing caught up,
SWT now only used by Eclipse
 JavaFX is the latest Java-based UI
Building..
CS-Studio on Eclipse
- Maven/tycho
- Network dependencies
- Full rebuild takes >30 minutes
- Monthly cannot-build-at-all
problems
- Must use Eclipse to develop
CS-Studio on Phoebus
Maven or ant
Can build from git clone + 1 ZIP
Full rebuild takes ~20 seconds (!)
Can (& still want to) use Eclipse
to develop, but also Netbeans, VI, ..
Startup Times
• CS-Studio on Eclipse: 8 secs
(details depend on what’s being restored)
• Open files from command line:
Only display files.
Not always finding the running
instance because needs to
locate window.
• Phoebus: 4 secs
(for a similar collection of panels)
• phoebus.sh -resource ..
Open display files,
or probe, PV Table, .. with PVs.
Succeeds because connects to TCP
port.
Eclipse: Little control where new panels open
Floating ‘Quick
view’ panels?
Console in middle?
Empty Properties?
Docking: Like Tabs in web browser,
plus “split” and “detach”
Window with horizontal Split
.. Added tab to new section
Can split further…
Added another tab
Save and Re-Load Layouts
Fixed Layout Sections
Open Tools from Command Line
-resource /path/to/file - Opens that file with the default application.
-resource file:/path/to/file - Same, but makes the 'file' schema specific.
-resource http://my.site/path/to/file - Reads web link, opens with default application.
-resource file:/path/to/file?app=display_runtime& - Opens file with 'display_runtime' app
MACRO1=value+1&MACRO2=abc passing macros.
-resource pv://?SomePV&app=probe - Opens the ‘SomePV’ with 'probe'.
-resource pv://?SomePV&OtherPV&app=pv_table - Opens two PVs PV with 'pv_table’.
• First call will start phoebus
• Follow-up calls can open resource in existing window
• Used to integrate RCP-based CS-Studio
Progress
Completed
 Probe
 PV Tree
 PV Table
 File Browser (basic)
 Data Browser
 Display Builder
 Scan UI
 Scan Server
 .. and infrastructure:
 Autocomplete, Macros, ..
 Build & Development Environment
99% compatibility with existing
PV Table, Display Builder, Data Browser
configuration files
Plan (end of 2018)
 Alarm UI (required for SNS beam lines)
 Channel Finder UI
 Logbook Support
 CS-Studio/Eclipse integration
Also planned, but not essential
 File Browser (better)
Archive Engine
Phoebus based
Channel Finder Tree w/t
Lazy loading
4.5k Loc
Eclipse based
Channel Finder Tree w/t
Lazy loading
11.2k Loc
CS-Studio with
Eclipse
Phoebus:
¼ CPU,
½ Memory
Phoebus
The next version of CS-Studio
Simpler, faster development setup
Simpler, more obvious panel layout
On track for 1st release end of 2018
Phoebus
Channels
PV Table
Probe
PV Tree
Data Browser
Display Builder
Scan
… more …
Alarms
Java 9, 10

More Related Content

Similar to 4.4-Phoebus-Status (1).pptx

Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview Lars Vogel
 
Icsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-libraries
Icsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-librariesIcsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-libraries
Icsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-librariesICS User Group
 
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Mark Leusink
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With SeleniumJodie Miners
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer ToolsWO Community
 
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
212 kuliah 01   pengenalan pemrograman berorientasi objek (java)212 kuliah 01   pengenalan pemrograman berorientasi objek (java)
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)yuan99
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
Oracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical Discussion
Oracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical DiscussionOracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical Discussion
Oracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical DiscussionJoshua Johnson, MIS
 
[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...Azilen Technologies Pvt. Ltd.
 
The Play Framework at LinkedIn
The Play Framework at LinkedInThe Play Framework at LinkedIn
The Play Framework at LinkedInYevgeniy Brikman
 
The Play Framework at LinkedIn: productivity and performance at scale - Jim B...
The Play Framework at LinkedIn: productivity and performance at scale - Jim B...The Play Framework at LinkedIn: productivity and performance at scale - Jim B...
The Play Framework at LinkedIn: productivity and performance at scale - Jim B...jaxconf
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesNicola Ferraro
 
Php Conference Brazil - Phalcon Giant Killer
Php Conference Brazil - Phalcon Giant KillerPhp Conference Brazil - Phalcon Giant Killer
Php Conference Brazil - Phalcon Giant KillerJackson F. de A. Mafra
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinarMark Leusink
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformTonny Madsen
 

Similar to 4.4-Phoebus-Status (1).pptx (20)

Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
Icsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-libraries
Icsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-librariesIcsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-libraries
Icsug conf 14_dev02_xpages-coffe-from-a-friend-using-third-party-java-libraries
 
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
01 spring-intro
01 spring-intro01 spring-intro
01 spring-intro
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer Tools
 
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
212 kuliah 01   pengenalan pemrograman berorientasi objek (java)212 kuliah 01   pengenalan pemrograman berorientasi objek (java)
212 kuliah 01 pengenalan pemrograman berorientasi objek (java)
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
Selenium Testing
Selenium Testing Selenium Testing
Selenium Testing
 
Oracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical Discussion
Oracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical DiscussionOracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical Discussion
Oracle Cloud Compute - EBS 12.2.5 Vision Demo - Technical Discussion
 
[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...[Part 1] automation of home appliances using raspberry pi – software installa...
[Part 1] automation of home appliances using raspberry pi – software installa...
 
The Play Framework at LinkedIn
The Play Framework at LinkedInThe Play Framework at LinkedIn
The Play Framework at LinkedIn
 
The Play Framework at LinkedIn: productivity and performance at scale - Jim B...
The Play Framework at LinkedIn: productivity and performance at scale - Jim B...The Play Framework at LinkedIn: productivity and performance at scale - Jim B...
The Play Framework at LinkedIn: productivity and performance at scale - Jim B...
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with Kubernetes
 
Php Conference Brazil - Phalcon Giant Killer
Php Conference Brazil - Phalcon Giant KillerPhp Conference Brazil - Phalcon Giant Killer
Php Conference Brazil - Phalcon Giant Killer
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

4.4-Phoebus-Status (1).pptx

  • 1. Phoebus June 2018 ANL EPICS Meeting Kay Kasemir, ORNL Kunal Shroff
  • 2. Key CS-Studio Feedback, Developers & Users Useful Applications Nice Integration - Fragile, long build process (>30 minutes!) - Hard to create site-specific “Product” - Awkward, haphazard window & workspace environment
  • 3. Evolution of CS-Studio Since ~2010: Operational at several sites Eclipse Channels PV Table Probe PV Tree Data Browser BOY Scan … more … Alarms Java 8 Phoebus Channels PV Table Probe PV Tree Data Browser Display Builder Scan … more … Alarms Java 9, 10 First release end of 2018 Eclipse Channels PV Table Probe PV Tree Data Browser Display Builder Scan … more … Alarms Java 8 (9, 10) Since ~2016 SWT JavaFX
  • 4. Combined Product BOY Phoebus Channels PV Table Probe PV Tree Data Browser Display Builder Scan … more … Alarms Java 9, 10 Eclipse Channels PV Table Probe PV Tree Data Browser Display Builder Scan … more … Alarms Java 9, 10 One download Invoking certain functions in CS-Studio/RCP will start that component in CS-Studio/Phoebus
  • 5. CS-Studio: Since ~2006 based on • Great at the time: • Build Setup • Module System • Preferences • Extensibility • Graphics … but there are now (better) alternatives • Strong ties to IDE - Awkward layout constraints for control system user interface - “Workspace” that’s different from the file system - Odd menu entries that we don’t need
  • 6. From Eclipse to Phoebus • Tycho/Maven build setup  Maven or ant • OSGi bundles  Jar files, maybe later Java 9 modules • RCP Extension Points  Java Services • RCP Preferences  Java Preferences • SWT  JavaFX • Workspace  File System • RCP Workbench  Phoebus “Docking”
  • 7. “Phoebus” • shadowed • Phoebus (Greek for “bright”) = Apollo as God of Light
  • 8. SWT vs. JavaFX SWT used to be better than AWT AWT/Swing caught up, SWT now only used by Eclipse  JavaFX is the latest Java-based UI
  • 9. Building.. CS-Studio on Eclipse - Maven/tycho - Network dependencies - Full rebuild takes >30 minutes - Monthly cannot-build-at-all problems - Must use Eclipse to develop CS-Studio on Phoebus Maven or ant Can build from git clone + 1 ZIP Full rebuild takes ~20 seconds (!) Can (& still want to) use Eclipse to develop, but also Netbeans, VI, ..
  • 10. Startup Times • CS-Studio on Eclipse: 8 secs (details depend on what’s being restored) • Open files from command line: Only display files. Not always finding the running instance because needs to locate window. • Phoebus: 4 secs (for a similar collection of panels) • phoebus.sh -resource .. Open display files, or probe, PV Table, .. with PVs. Succeeds because connects to TCP port.
  • 11. Eclipse: Little control where new panels open Floating ‘Quick view’ panels? Console in middle? Empty Properties?
  • 12. Docking: Like Tabs in web browser, plus “split” and “detach”
  • 14. .. Added tab to new section
  • 17. Save and Re-Load Layouts
  • 19. Open Tools from Command Line -resource /path/to/file - Opens that file with the default application. -resource file:/path/to/file - Same, but makes the 'file' schema specific. -resource http://my.site/path/to/file - Reads web link, opens with default application. -resource file:/path/to/file?app=display_runtime& - Opens file with 'display_runtime' app MACRO1=value+1&MACRO2=abc passing macros. -resource pv://?SomePV&app=probe - Opens the ‘SomePV’ with 'probe'. -resource pv://?SomePV&OtherPV&app=pv_table - Opens two PVs PV with 'pv_table’. • First call will start phoebus • Follow-up calls can open resource in existing window • Used to integrate RCP-based CS-Studio
  • 20. Progress Completed  Probe  PV Tree  PV Table  File Browser (basic)  Data Browser  Display Builder  Scan UI  Scan Server  .. and infrastructure:  Autocomplete, Macros, ..  Build & Development Environment 99% compatibility with existing PV Table, Display Builder, Data Browser configuration files Plan (end of 2018)  Alarm UI (required for SNS beam lines)  Channel Finder UI  Logbook Support  CS-Studio/Eclipse integration Also planned, but not essential  File Browser (better) Archive Engine
  • 21. Phoebus based Channel Finder Tree w/t Lazy loading 4.5k Loc Eclipse based Channel Finder Tree w/t Lazy loading 11.2k Loc
  • 23. Phoebus The next version of CS-Studio Simpler, faster development setup Simpler, more obvious panel layout On track for 1st release end of 2018 Phoebus Channels PV Table Probe PV Tree Data Browser Display Builder Scan … more … Alarms Java 9, 10