1 / 27

CESAR the C ern E a S oftw A re R enovation Project

CESAR the C ern E a S oftw A re R enovation Project. Vito Baggiolini, SL/CO. Outline. Organizational Aspects Requirements Project phases and milestones Methods People Technical Aspects Architecture Java 2 Enterprise Edition Design Current state of work Conclusions.

mhumphery
Download Presentation

CESAR the C ern E a S oftw A re R enovation Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CESARthe Cern Ea SoftwAre RenovationProject Vito Baggiolini, SL/CO

  2. Outline • Organizational Aspects • Requirements • Project phases and milestones • Methods • People • Technical Aspects • Architecture • Java 2 Enterprise Edition • Design • Current state of work • Conclusions Vito Baggiolini SL/CO

  3. Outline • Organizational Aspects • Requirements • Project phases and milestones • Methods • People • Technical Aspects • Architecture • Java 2 Enterprise Edition • Design • Current state of work • Conclusions Vito Baggiolini SL/CO

  4. The SPS Experimental Areas • ~ 2000 physics users • ~ 6.3 km of beam lines ( SPS circumference) • ~ 1000 pieces of physics equipment • Frequent changes • Settings • Installations • Users • The only place for HEP in CERN until LHC Vito Baggiolini SL/CO

  5. EA Physicists Preparation & tuning of beamlines Maintenance of beamline settings database Expert troubleshooting Experimental Physicists Apply beamline settings Collect information about machine and beamline state Operators Monitoring and troubleshooting Helpdesk, problem follow-up Communication with all users Admin of Experiment database (members/privileges) HW Specialists & Piquet Hardware installation, test and diagnosis Maintenance of hardware infrastructure database Our Users and their Requirements • All users • Take safe access to experimental zones • Browse through log files • Want secure computer access from outside CERN

  6. Project Phases & Milestones Start-up 2001: “We know how to build the system” Full slice through control system in new software; Nodal for mission critical parts and “normal” users Start-up 2002: “We control a Beam line”New software for physicists and selected users Nodal for North Area and specialists Start-up 2003: Production releaseFull functionality in new software; Nodal totally phased out Start-up 2004: End of CESAR ProjectAfter a 1 year of validation, amendments, polishing documentation, preparation of long-term maintenance Vito Baggiolini SL/CO

  7. Methods and Tools • Methods • “Goal Directed Project Management” for organization • “Unified Software Development Process” for software • Object-oriented Methodology • Tools • Java Enterprise Platform (same as used for E-Commerce) • CERN supported development tools and infrastructure (e.g. PS-SL Middleware) • Principles for choosing methods & tools • Integrate products, avoid reinventing wheel • (Industry) standards • Mainstream technology to attract good & motivated people • Support is vital Vito Baggiolini SL/CO

  8. People • 7 CESAR developers (30-90%) • SL/EA: 3 operators, 1 fellow • SL/BI: 1 technical engineer • SL/CO: 1 technical engineer, 1 engineer (myself) • 2 other team members: • 2 domain experts (EA and BI) very actively participating • Excellent collaboration with Users/Experts • EA physicists (representing end-users) • Operators • HW specialists, Piquet Vito Baggiolini SL/CO

  9. Collaborations • Cesar is a collaboration between four SL groups: EA, CO, BI, PO • But also collaborations with • PS-SL Middleware Project • AS/IDS (“EDH people”), PS/CO: Java Tools • SL/BI: Server framework for Front-ends • Helix: Operator W2K console + Java Servers • SL/MR: help for database design

  10. Outline • Organizational Aspects • Requirements • Project phases and milestones • Methods • People • Technical Aspects • Architecture • Java 2 Enterprise Edition • Design • Current state of work • Conclusions Vito Baggiolini SL/CO

  11. Scripting Facility Graph. UserInterfaces Middleware Tuning Tasks Surveillance Programs Access Programs Expert Programs Collim. Magnet Wire-chamber Timing Middleware Motor Data Mod. MageaData Mod. WireChData Mod. Timing Module “3-Tier Architecture” CESAR Architecture User PC Settings & Config Database Beamline Server Computer Security Frontends

  12. Java 2 Enterprise Edition (J2EE) • What is J2EE? • The standard way of building 3-Tier Java applications • A recommended architecture + development guidelines • Aimed at electronic commerce applications • A “container” in which to run your application • The container does all the “difficult things”… …developers concentrate on domain-specific functionality • The “difficult things” you don’t need to develop • Integration Objects + Relational Databases • Automatic persistence • Resource management (memory, threads, DB connections, …) • Security + Access control • J2EE is “The” Open Industry Standard for Enterprise Applications • “Application Servers” are available from over 30 vendors • All major players + Open source initiatives

  13. Graphical UserInterface Web Browser Middleware Web Server Relational DataBase EJBean 1 EJBean 2 Middleware Existing Applications Recommended J2EE Architecture User PC Appl Server (“Container”) Server Frontends

  14. Scripting Facility Graph. UserInterfaces Middleware Motor EJBean Magnet EJBean Wirech. EJBean Timing Bean Middleware Motor Data Mod. MageaData Mod. XWCAData Mod. Timing Module CESAR J2EE Architecture User PC Appl Server (“Container”) Relational DataBase Beamline EJBean Server Frontends

  15. Glossary • J2EE: Java 2 Enterprise Edition • Standard Java Platform to build 3-Tier applications • 3-Tier Application -- an application in 3 layers: • Graphical User Interface on User PCs • Stable Core functionality on Servers • Hardware access on Front-end computers • J2EE Application Server • A software platform that implements the J2EE Standard • Enterprise Java Beans (EJB) or simply “Beans” • Software components running on Application Servers • Bean Container • The part of the application server that contains the Beans

  16. Start WireCh. GUI Panel Wirechamber Graphical User Interface Connect toContainer CreateWireCh. Bean WireCh 2 setHv() getHv() Load its settings getProfile() RefHighVolt E.g. check/updateHardware Configuration HighVolt Physics User Persistence Lets work with WireCh 2... Graphical UserInterface Middleware App Server (Container) WC 2 Config Middleware Work! WireCh D.M. HV Controller 2

  17. H2 = [ Tax1, Bend1, Coll3, …] Beamline H2 Layout = [ Tax1,Bend1, Coll3, …] 150 GeV e- = [ ] Tax1 Bend1 Coll3 Mot5 Mot3 Mot4 MotorDataMod. Magea DataMod. MotorDataMod. Extrapolation to Beamline Settings Work onH2... 150 GeV e- Beamline Control Graphical User Interface Middleware Beamline Layout App Server (Container) 150 GeV e- Beamline Settings HardwareConfig Middleware

  18. Beamline Control Graphical User Interface Middleware Beamline Layout H2 = [ Tax1, Bend1, Coll3, …] App Server (Container) Beamline H2 150 GeV e- Layout = [ Tax1,Bend1, Coll3, …] Beamline Settings 150 GeV e- = [ ] Tax1 Bend1 Coll3 Mot5 Mot3 Mot4 HardwareConfig Middleware MotorDataMod. Magea DataMod. MotorDataMod. Extrapolation to Beamline Settings

  19. setHv() getHv() restoreHv() RefHighVolt HighVolt Access Ctrl (1) Claude, HW Specialist Set Hv to 2 kV! Tune WireCh 2 Login: Claude Password: ****** WireChamber Graphical User Interface Claude is is a known user;Role: Specialist Middleware WC 2 Config Security Service WireCh 2 Specialists are allowed touse setHv() Middleware WireCh D.M. HV Controller 22

  20. setHv() getHv() restoreHv() RefHighVolt STOP HighVolt Access Ctrl (2) Jean, Observer Set Hv to 20 kV! Play with WireCh 2 Login: Jean Password: ****** WireChamber Graphical User Interface Jean is is a known user;Role: Observer Middleware WC 2 Config Security Service WireCh 2 Observers are not allowed to use setHv() Middleware WireCh D.M. HV Controller 22

  21. 3rd Party Products • J2EE Application Server • Now: Borland Application Server (for ~ 1 year) • Soon: Oracle Application Server (same as EDH) • Oracle database • Framework for building GUIs • Based on “Netbeans” Framework (open source) • PS-SL Middleware • Biscoto server framework + BI expert panels

  22. Design • Simple concepts • intuitive Architecture • simple development guidelines • Strongly typed • Class hierarchy with few base classes at the top • Many classes ~300 (many related classes) • Equipment-specific classes • Applying Design Patterns

  23. Equipment-specific Classes MagnetPanel(GUI) displays MagnetStatus (information) uses MagnetTable creates MagnetEJB (persistence) persistence uses MagnetDm (Eq access)

  24. Current State of Work (1) • Requirements • List of all (?) use cases • Relevant use cases described in detail • GUI sketches • Analysis & Design • Relevant use cases analyzed • Architecture mostly described in UML • “Base classes” agreed on and documented in UML • Miscellaneous • Coding conventions • Glossary

  25. Current State of Work (2) • Prototypes • EJBs + Database tables for 80% of equipment (physics functionality only) • Access system (second prototype) • GUI Panels for status display and surveillance • GUI Framework + First Explorer prototype • Operational products • Spectrometer with Momentum analysis • Timing distribution via Middleware • Direct equipment access from Java • Scripting language (Jython)

  26. Conclusions • Excellent team spirit and collaborations • Good progress • Architecture settled • Prototypes for functionality due in May • No delays for start-up milestones foreseen (yet ;-) • Using Mainstream technology • Object methodology and Design Patterns • Java 2 Enterprise Edition • And existing products • J2EE Application Server, Oracle, Netbeans, Jython • Middleware, Biscoto, …

More Related