1 / 24

B M M B rick M anipulation M anager

B M M B rick M anipulation M anager. Functionalities And Architecture D. Duchesneau T. Le Flour S. Lieunard. Main functionalities. Super Module initial filling Detector filling status Managing the filling process Brick and CS position , … During OPERA data acquisition

kana
Télécharger la présentation

B M M B rick M anipulation M anager

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. B M MBrick Manipulation Manager Functionalities And Architecture D. Duchesneau T. Le Flour S. Lieunard L.A.P.P OPERA T. Le Flour

  2. Main functionalities • Super Module initial filling • Detector filling status • Managing the filling process • Brick and CS position , … • During OPERA data acquisition • Communicate to the BMS the list of bricks for daily extraction • Keep track of the brick life from insertion to development L.A.P.P OPERA T. Le Flour

  3. Main functionalities • At any time : we need • The brick situation : location , task in progress • The brick history for a given brick • The detector cell history • A graphical display of the detector content • Actual content, play back display • The status of some connected systems: • Ie : BMS,… • From time to time : we may need • To export typical data from the local repository to the central repository L.A.P.P OPERA T. Le Flour

  4. System configuration • BMM Configuration and access rights • System Configuration • Daily extraction starting time • … • Managing the system access(Login,Roles) • Operators, standard users, Administrators, L.A.P.P OPERA T. Le Flour

  5. <<subsystem>> BAM <<subsystem>> (OGC)OPERA Global Control <<subsystem>> OPERA On Line System <<subsystem>> OPERA Scanning System <<subsystem>> Brick Manipulation Manager(BMM) Manipulator Interface Scanning Interface BAM Interface Manager Interface <<subsystem>> Supervisor/ Manipulator The sub-systems in presence <<uses>> <<uses>> <<uses>> <<uses>> + Cosmic Bench development Lab. L.A.P.P OPERA T. Le Flour

  6. The actors(1) • UML for the modelization • USDP : Use-Case driven • Actor definition : • Order the functionalities of the system by categories L.A.P.P OPERA T. Le Flour

  7. The actors(2) Opera General User ? Brick Operator Loading/Unloading Operator Opera Global Control On-line Common Operator Physicist L.A.P.P OPERA T. Le Flour

  8. Use Case Example The operator starts the initial filling StartLoading The operator can decide to pause the loading process pauseLoading stopLoading Loading Operator The operator can stop At any time the loading process The operator can restart the loading process where it was stopped RestartLoading L.A.P.P OPERA T. Le Flour

  9. Graphical User Interface L.A.P.P OPERA T. Le Flour

  10. Graphical User Interface L.A.P.P OPERA T. Le Flour

  11. The class schema Detector +1 +2 SuperModule +1 history WorkPlan +2 left/Right side +1 +1 +1 +31 HalfWall BrickManager +0,n +1 OperaElement operations OperationsLogBook +1 +0,n +1 +64 Row PositionManager +1 +0,1 CS Brick Basket +26 1..n 1 1 +0,234 Cell 1..n 1..n 0..1 0..1 1 1 CellHistory 0..n 0..n L.A.P.P OPERA T. Le Flour

  12. BMM architecture OGC A P I Central Repository BMM Local Repository BMM Corba Server Oracle Oracle Client ? A P I API A P I BMS API BMS Corba Server Operator Workstations ? ? Data Monitoring L.A.P.P OPERA T. Le Flour ?

  13. Communication • 3 tiers decomposition • Software and Hardware decomposition • Only the BMM component has an access to its own database • No direct access to the DB from the client side • The other sub-systems(BMM Clients) will invoke only BMM services • Based on CORBA standard L.A.P.P OPERA T. Le Flour

  14. Communication • Why CORBA ? • Definition of the services • Description (IDL) of the interface • Automatic code generation for the client and server side • Avoid to concentrate effort on the low level of the communication • Inter-operable • System independent • Language independent L.A.P.P OPERA T. Le Flour

  15. Example of CORBA usage • IDL Description : OPERA_PROTOTYPE.idl struct BrickPosition { long brickId; long wallNumber; long xpos; long ypos; }; typedef sequence<BrickPosition> Positions; interface OPERA_PROTOTYPE { void loadBricks(); long basketLevelValue(); void brickAndCSId(out long brickId, out long csId); void insertBricks( in long superModuleNumber, in long wallNumber, in long row); Positions insertResult(); }; L.A.P.P OPERA T. Le Flour

  16. Example of CORBA usage • Code Generation • Server Side : • OPERA_PROTOTYPE_I.cpp : Skeleton of the described services : void OPERA_PROTOTYPE_i::loadBricks() { Code has to be inserted to realize the service; } • Client Side : • 1. Getting the IOR(Stringified CORBA Server Reference) • 2. Server Connection: CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); CORBA::Object_var obj = orb->string_to_object(ior); BMS_Ref = OPERA_PROTOTYPE::_narrow(obj); • 3. Service call : (Synchronized) • BMS_Ref-> loadBricks(); L.A.P.P OPERA T. Le Flour

  17. Communication • Provide for the other sub-systems an API/Libraries dedicated to the BMM connection • Hide the CORBA usage • Make the server connection completely transparent. L.A.P.P OPERA T. Le Flour

  18. Communication • From the BMM to an other sub-system • Based on a CORBA implementation • Based on a basic Client/Server implementation • An API & Libraryshould be provided by developers of sub-systems to facilitate communications L.A.P.P OPERA T. Le Flour

  19. The BMM Services & Actions • Initial Filling • Load_Bricks(SM1 , left) • Load on carousel 26 bricks on the left side of the SM1 • Basket_Level_value (1 value) • BMS returns the rows used in the filling basket • Brick_Id and CS_Id (2 values) • Each time(26) the BMS loads a brick and CS on carousel , it sends the two ids to BMM. • Insert_Bricks(SM1, Wall, Row) • Insertthe 26 bricks in the free row‘Row’of wall‘Wall’of SM1 • Insert_Result( Brick Id, position) (26 x 3 values) • Bricks positions to be saved in the DB. L.A.P.P OPERA T. Le Flour

  20. Data saving • The BMM saves and provides the data through service call. • If BMM is not available : • crashes, network problems, computer problems , … • Data has to be directly saved into ORACLE • Encapsulate the BMM service calls in a dedicated library to detect this kind of problems L.A.P.P OPERA T. Le Flour

  21. A A A A Data Saving ORACLE Client Code Data Saving Interface BMM Corba Server Data Saving BMM Service access through the interface DATA SAVING • INTERFACE FUNCTIONS • Check the availability of the BMM • If BMM is broken  Data are saved with method call only • If BMM available  Data are saved with a BMM service call and method call L.A.P.P OPERA T. Le Flour

  22. Implementation choices • The CORBA implementation • OMNIORB 4.X • Freeware : http://www.uk.research.att.com/omniORB/ • Maintenance available • Implementation exists for W2000 and LINUX • The language choice : • Graphical User Interface : JAVA on any platform • Server side : C++ on LINUX L.A.P.P OPERA T. Le Flour

  23. Tests • Tests already done: • Check the CORBA interoperability: • LINUX<->W2000 • Client C++<-> Server C++ • Java Client <-> Server C++ • Database access: • Online : Only from the BMM side • C++ • ORACLE access from C++ : OCCI(Oracle9i) • Data Monitoringtools : • C++/OCCI or Java/JDBC • Tests to be done soon : • Prototyping a full sequence (Client<->BMM<->BMS) for checking communication between BMM and BMS L.A.P.P OPERA T. Le Flour

  24. About ORACLE • Availability of ORACLE from CERN • For Labs : • Which version ? 9i • When and how to get the LINUX version • Db installation and organization in OPERA? • Database administration ? • Backup, … • Support ? L.A.P.P OPERA T. Le Flour

More Related