Giovanni OrgantiniCMS/Roma
Software Tools at the Rome CMS/ECAL Regional Center
Giovanni Organtini
INFN-Roma
Giovanni OrgantiniCMS/Roma
Introduction
Giovanni OrgantiniCMS/Roma
The ACCOR Machine
Co60
PM
LED
Giovanni OrgantiniCMS/Roma
CRISTAL
• Workflow Management System– Configurable– Interface with:
Humans Instruments Software
• Data Base System
Giovanni OrgantiniCMS/Roma
ORB
CRISTAL
Workflow DefinitionDB
Collected DataDB
PARTBROWSER
InstrumentAgent
Giovanni OrgantiniCMS/Roma
CRISTAL Browser
Registered Parts
Giovanni OrgantiniCMS/Roma
Activity
Workflow
Giovanni OrgantiniCMS/Roma
Manual Activity
Giovanni OrgantiniCMS/Roma
Instrument Activity
PM IA Instrument
CONNECT
ACKN
GETJOBS
JOBS
STARTJOB
RESULT
CORBAChannel
TCP/IPChannel
Giovanni OrgantiniCMS/Roma
UML Model for Parts and Instruments
PartOnInstrument Instrument
XMLParser
10..n
A Part being measuredby an instrument
An automatic “CRISTAL”instrument
Encoding/Decodingof XML-like structures
Giovanni OrgantiniCMS/Roma
OO Design strategy
• Follows known patterns whenever possible
• Every instrument in the Center uses the same pattern: reusability
• No explicit pointer in the software: use STL instead
• Provide shortcuts for few methods that MUST be fast
Giovanni OrgantiniCMS/Roma
OO Experience
• OO technology useful even for medium scale projects
• Formal tools and methods makes development faster
• No significant differences found in performances with respect to FORTRAN programs
Giovanni OrgantiniCMS/Roma
Operating Systems integration
Giovanni OrgantiniCMS/Roma
Linux Choice
Giovanni OrgantiniCMS/Roma
VNC
Server Windows/LinuxVNC = Service
Client Linux/WindowsVNC = Application
•Free-ware•Easy to install•Very useful
•Slow•Single user
Network
Giovanni OrgantiniCMS/Roma
Xterm
Xclock
Pager
Linux Desktop
Windows Menu
Windows IconsVNC
Giovanni OrgantiniCMS/Roma
Windows vs Linux
Good Bad
System Management Windows Linux
Applications availability LinuxWindows
Control WindowsLinux
Access WindowsLinux
System Integration WindowsLinux
Giovanni OrgantiniCMS/Roma
Web Tools
• ACCOR can be operated even manually– It shall be operated by non-experts– It shall be operated remotely
• ACCOR must be monitored even remotely
• Data must be available as soon as possible for fast analysis
Giovanni OrgantiniCMS/Roma
Documentation
Each physical connection (cable) is mapped into an hyperlink
Giovanni OrgantiniCMS/Roma
Command Definition for ACCOR
Commands are defined using FORMS
Giovanni OrgantiniCMS/Roma
Command Definition for ACCOR
CGI-PerlScript
<CO>Transmission <AR>Start<VA>15</VA></AR> <AR>Stop<VA>230</VA></AR> <AR>Step<VA>15</VA></AR></CO>
Giovanni OrgantiniCMS/Roma
Offline MonitoringClicking on this link startsa Perl script that searches forcrystals already measuredand builds the list on the right
This list is automaticallygenerated (no maintenance!)
Clicking on crystal namea second Perl script is calledwho generates a plot on the
fly
Giovanni OrgantiniCMS/Roma
The Perl script uses externalgraphics packages to buildplots (gnuplot in this case)
Offline Monitoring
Giovanni OrgantiniCMS/Roma
System Monitoring
Giovanni OrgantiniCMS/Roma
Functional Decomposition
LY DAQ TT/LT DAQ 3D DAQ
MotorDaemon
InstrumentAgent ACCOR DAQ
Giovanni OrgantiniCMS/Roma
Functional Decomposition
• Programs do not provide graphic interface
• Programs communicates by means of pipes or network messages
• Programs do not produce graphical output
• Suitable graphic browsers provide the interface (web browser or graphics manipulation programs)
Giovanni OrgantiniCMS/Roma
Commercial Products: PROs
Reduced development time Good quality documentation
Persistency for free Good Tools Good DB organization Multi-platform
Giovanni OrgantiniCMS/Roma
Commercial Products: CONs
They promise, but… Inadequate support Incompatibilities around the corner We are not the market!
DRO/FTO unreliable Versioning unreliable Schema evolution unreliable Slow (?)
Incompatibilities with other products Non CORBA-compliant
Giovanni OrgantiniCMS/Roma
Commercial Products: Conclusions
There are no Universal Tools!
Giovanni OrgantiniCMS/Roma
Commercial Products: Conclusions (II)
There are not Tools for problems thatdo not exist (yes)
Giovanni OrgantiniCMS/Roma
Conclusions
• Object Oriented Programming
• Open Source• Scripting Languages
• Commercial products• Programs with graphical
interface
Natural LanguageUniform interfaceImproved maintenancePerformances Ok
Solve bugs rapidlyNo (or reduced) incompatibilitiesExtremely flexible
Works in any environmentNot enough supportincompatibilities possibleLimited accessIntegration problems
Top Related