Presentation is loading. Please wait.

Presentation is loading. Please wait.

CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 1 B M M Brick Manipulation Manager FunctionalitiesAndArchitecture D. Duchesneau T. Le Flour S. Lieunard.

Similar presentations


Presentation on theme: "CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 1 B M M Brick Manipulation Manager FunctionalitiesAndArchitecture D. Duchesneau T. Le Flour S. Lieunard."— Presentation transcript:

1 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 1 B M M Brick Manipulation Manager FunctionalitiesAndArchitecture D. Duchesneau T. Le Flour S. Lieunard

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

3 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 3 At any time : we needAt 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 needFrom time to time : we may need To export typical data from the local repository to the central repository Main functionalities

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

5 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 5 The sub-systems in presence > Supervisor/ Manipulator > BAM > (OGC)OPERA Global Control > OPERA On Line System > OPERA Scanning System >ManagerInterface ScanningInterface BAMInterface Brick Manipulation Manager(BMM) ManipulatorInterface + Cosmic Bench development Lab.

6 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 6 The actors(1) UML for the modelizationUML for the modelization USDP : Use-Case drivenUSDP : Use-Case driven Actor definition :Actor definition : Order the functionalities of the system by categories

7 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 7 The actors(2) Opera General User BrickOperatorLoading/UnloadingOperator CommonOperatorPhysicist Opera Global Control On-line ?

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

9 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 9 Graphical User Interface

10 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 10 Graphical User Interface

11 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 11 The class schema Detector SuperModule +2 +1 PositionManager left/Right side +2 +1 BrickManagerHalfWall +1 +31 CS Row +64 +1 Brick 1 1..n 1 historyWorkPlan OperationsLogBook Basket +0,234 +0,1 operations +0,n +1 +0,n +1 OperaElement +1 CellHistory 1..n 0..n 1..n 0..n Cell +26 +1 0..1 1 1

12 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 12 APIAPI LocalRepository BMS BMM architecture BMM OperatorWorkstations BMM Corba Server ? ? ? APIAPI OGC Client ? APIAPI Data Monitoring API API BMS Corba Server CentralRepository OracleOracle

13 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 13 Communication 3 tiers decomposition3 tiers decomposition Software and Hardware decomposition Only the BMM component has an access to its own databaseOnly 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 servicesThe other sub-systems(BMM Clients) will invoke only BMM services Based on CORBA standardBased on CORBA standard

14 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 14 Communication Why CORBA ?Why CORBA ? Definition of the services Description (IDL) of the interfaceDescription (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 independentSystem independent Language independentLanguage independent

15 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 15 Example of CORBA usage IDL Description : OPERA_PROTOTYPE.idlIDL Description : OPERA_PROTOTYPE.idl struct BrickPosition { long brickId; long brickId; long wallNumber; long wallNumber; long xpos; long xpos; long ypos; long ypos;}; typedef sequence Positions; interface OPERA_PROTOTYPE { voidloadBricks(); longbasketLevelValue(); voidbrickAndCSId(outlong brickId, outlong csId); voidinsertBricks(in long superModuleNumber, in long wallNumber, in long row); PositionsinsertResult(); };

16 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 16 Code GenerationCode Generation Server Side : Server Side : OPERA_PROTOTYPE_I.cpp : Skeleton of the described services :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 : Client Side : 1. Getting the IOR(Stringified CORBA Server Reference)1. Getting the IOR(Stringified CORBA Server Reference) 2. Server Connection: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)3. Service call : (Synchronized) –BMS_Ref-> loadBricks(); Example of CORBA usage

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

18 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 18 Communication From the BMM to an other sub-systemFrom the BMM to an other sub-system Based on a CORBA implementation Based on a basic Client/Server implementation An API & Library should be provided by developers of sub-systems to facilitate communicationsAn API & Library should be provided by developers of sub-systems to facilitate communications

19 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 19 The BMM Services & Actions Initial FillingInitial Filling Load_Bricks(SM1, left) Load_Bricks(SM1, left) Load on carousel 26 bricks on the left side of the SM1Load on carousel 26 bricks on the left side of the SM1 Basket_Level_value (1 value) Basket_Level_value (1 value) BMS returns the rows used in the filling basketBMS returns the rows used in the filling basket Brick_Id and CS_Id (2 values) 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.Each time(26) the BMS loads a brick and CS on carousel, it sends the two ids to BMM. Insert_Bricks(SM1, Wall, Row) Insert_Bricks(SM1, Wall, Row) Insert the 26 bricks in the free row ‘Row’ of wall ‘Wall’ of SM1Insert the 26 bricks in the free row ‘Row’ of wall ‘Wall’ of SM1 Insert_Result( Brick Id, position) (26 x 3 values) Insert_Result( Brick Id, position) (26 x 3 values) Bricks positions to be saved in the DB.Bricks positions to be saved in the DB.

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

21 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 21 DATA SAVING Data Saving ORACLE BMMCorbaServer Data Saving InterfaceClientCode BMM Service access through the interface INTERFACE FUNCTIONS 1.Check the availability of the BMM 2.If BMM is broken  Data are saved with method call only 3.If BMM available  Data are saved with a BMM service call and method callA A A A

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

23 CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 23 Tests Tests already done:Tests already done: Check the CORBA interoperability: LINUX W2000LINUX W2000 Client C++ Server C++Client C++ Server C++ Java Client Server C++Java Client Server C++ Database access: OnlineOnline : Only from the BMM side –C++ –ORACLE access from C++OCCI(Oracle9i) –ORACLE access from C++ : OCCI(Oracle9i) Data Monitoring tools :Data Monitoring tools : –C++/OCCI or Java/JDBC Tests to be done soon :Tests to be done soon : Client BMM BMS Prototyping a full sequence (Client BMM BMS) for checking communication between BMM and BMS

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


Download ppt "CERN Meeting 23/09/03 L.A.P.P OPERA T. Le Flour 1 B M M Brick Manipulation Manager FunctionalitiesAndArchitecture D. Duchesneau T. Le Flour S. Lieunard."

Similar presentations


Ads by Google