Upload
marshall-norris
View
231
Download
0
Embed Size (px)
Citation preview
Jozef StefanInstitute
Igor Verstovsek ([email protected]), Miha Kadunc, Jernej Kamenik, Igor Kriznar, Gasper Pajor, Mark Plesko, Ales Pucelj, Gasper
Tkacik, Dragan Vitas
Cosylab Ltd.
(Ljubljana, Slovenia)
A Generic Java and GUI Development Framework That can be Interfaced to Different
Control Systems
Abeans
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 2
Introduction
• A brief history of Abeans
• Basic concepts
• Experience of using Abeans at various CS
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 3
ESOR3 BACI
ACS CORBA
DESYR3 Channel
TINE
SNSR3 Channel JCA EPICS
GSIR3 Channel UFC, ACS
ANKAR2
ACS CORBA
RIKENR3
Prototype
SuperSORR2
CORBA
UVSORR2
CORBA
NRAOR3 BACI
ACS CORBA
DLSR3 Channel JCA EPICS
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 4
A Brief History of Abeans
• 6 years of continuous development• @ ANKA, DESY, ESO, RIKEN, SNS, DLS, GSI,
SuperSOR, UVSOR, ...
Release 1– A wrapper for CORBA to make Java clients
Release 2– Plugs for different CS are introduced
Release 3– Professional, reusable GUI components– Plugs, Models, Services
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 5
Basic Concepts
• Model: Logical containment of CS Objects– Channel, Device oriented
– GIS • Plug: Connection to remote modeling layer
– ACS, TINE, EPICS, UFC• Service: Implementation of shared functionality
– Error reporting, Logging, directory and lookup services
DeviceProperty 1
Property 2
Property 3
Channel 1
Channel 2
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 6
Experience of Using Abeans at Various CS
• ANKA, ESO: ACS CORBA
• GSI: UFC going to ACS CORBA
• DESY: TINE
• Diamond, SNS: EPICS
• SNS: GUI Components
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 7
Use of Enhanced GUI Components
• Use Abeans as a library– GUI widgets– Services
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 8
Display of Data Quality
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 9
Building GUI Applications
• Using NetBeans IDE to build GUI applications
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 10
Use of ACS Services
• Most ACS CORBA services lack GUI components
• Example: Remote Logging service of Abeans– Encapsulates ACS CORBA logging
• Part of every Abeans application
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 11
Facilitating Upgrade of GSI CS
• UFC, a custom CS will be upgraded to CORBA
• Transition period – both systems have to be supported
• Abeans can use multiple plugs– UFC + ACS
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 12
Hierarchies in EPICS
• EPICS is a flat database– Hierarchy: Additional
data are needed• Naming convention,
database, etc.
• Abeans directory service– EPICS plug fills it– Based on JNDI– Cosy Navigator
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 13
Reducing Memory Footprint of Java
• Java Virtual Machine Sharing
Java Abeans Application
JVM 1
Sh
are
?
Yes
Tra
nsfe
r Ap
p. d
ata
Another Java Abeans
Application
JVM 2
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 14
Platform Independence for DESY
• TINE – applications in Visual Basic• Some people have Sun and Linux. They
have the need to run the same applications
• Abeans are written in Java
• Archive Reader
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 15
Archive Reader for DESY
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 16
Physics Applications for ANKA
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 17
Complex Panels for ANKA
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 18
Power Supply Table for Hitachi-Zosen
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 19
Vacuum Display Application for Diamond
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 20
Object Explorer
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 21
Control Desk - Towards "ACS Office"
Jozef Stefan Institute
ACS Workshop Igor Verstovsek, Abeans 22
Conclusion – What are Abeans Really
• A self-contained application framework• Deliver generic applications• A library for
– Communication management– GUI widgets– Services (e.g. Logging)
• Professional development process• Documentation (tutorials, reference manuals),
tests, quality control, support
http://abeans.cosylab.com