Home
Object explorer
Contents
1. e enums if OE can recognize them are entered by selecting the appropriate value in a combo box e arrays of primitive types are entered into a text area each line representing one field in array e structs and other simple objects can be provided by entering object s constructor parameters into displayed components e interfaces and more complex objects can not be passed as a parameter to operation To invoke the operation when all parameters are entered click the Invoke button An error will occur if parameter values are incorrect To cancel invocation click the Cancel button or close the Parameters dialog 6 2 Error dialog Revision 1 6 Page 12 of 18 ALMA Object explorer Object Explorer error Cannot constructclass si ijs anka abeans Property java lang InstantiationException si fijsianka abeans Property Error dialog appears when an exception is caught either by the GUI or engine It displays the error message and exception type User can select the message in the text area and copy it to clipboard Exception stack trace is printed to console To close the error dialog click the OK button Error dialog is modal so it stops the current thread preventing multiple dialogs to appear at a time If another thread raises an error it is also printed out in the same Error dialog 6 3 RemoteAccessDestroy dialog ner This dialog is shown when OE is closing or user has started a new session ca
2. KGB DOC 01 09 Revision 1 7 2006 11 07 User s manual Mihael Kadunc Object Explorer User s manual Mihael Kadunc Josef Stefan Institute Ljubljana Ga per Tka ik Josef Stefan Institute Ljubljana Matej ekoranja Josef Stefan Institute Ljubljana Keywords Author Signature Date 6 7 2001 Approved by Signature Institute Date Released by Signature Institute Date ALMA Object explorer Change Record REVISION DATE AUTHOR SECTIONS PAGES AFFECTED REMARKS 2001 07 06 Mihael Kadunc All Created 2001 09 09 Mihael Kadunc All Updated according to comments by Gianluca Chiozzi ESO 2001 09 14 Ga per Tka ik Section 6 Added an explanation of Engine functionality 2001 09 24 Mihael Kadunc Section 6 Updated package names to si ijs acs 2002 01 05 Mihael Kadunc Table of contents Added table of contents according to ACS Remaining List doc 12 2002 02 13 Mihael Kadunc Sections 3 5 Updated for the new version of Object Explorer 1 1 2003 11 11 Matej ekoranja Section 6 Updated BACI plug section to match ACS 3 0 MACI IDL added objexp pool_timeout 2006 11 07 Matej Sekoranja Section 6 3 section 7 3 inserted Supported types update Value conversion section added Revision 1 6 Page 2 of 18 ALMA Object explorer Revision 1 6 Page 3 of 18 ALMA Object explorer Table of Contents 1 MINOGUCHON anna A An a NaRa 5 2 Application o
3. readback OE window is divided into four sections Object tree lists of object s members message text area and results text area There are also the menus at the top of the window 4 1 Menus 411 File File menu provides a connect menu item which is used to select the type of the remote access and connect to remote system Currently supported options are BACI and AbeansR2 and exit option which closes the window and exits the program in the same way as if the application was exited by closing the main window 41 2 View In the View menu you can choose the following Revision 1 6 Page 6 of 18 ALMA Object explorer e Expand result data If a result of an action Operation or Attribute invocation is not a primitive type or a wrapper object of one and this option is checked OE tries to find all the members of this object recursively and prints a hierarchical representation of the object to the result text area Otherwise only object s toString representation is printed This option is not checked by default e Invocation response in a separate window Some invocations e g monitors send responses continuously and in order to make the responses clearer invocations that produce more than one response are filtered out and shown in a separate RemoteResponse window If this option is not checked all invocation output goes to the result text area Option is checked by default e Debug to console If this option is checked
4. an object right click on the node that represents it and select disconnect on the popup menu Even if an object is disconnected its node still exists in the tree Introspectable nodes cannot be removed from the tree after they have been loaded e Invocations are simple introspectable nodes they have operations and attributes but they cannot be connected to or disconnected They can however be removed from the tree as they represent only temporary objects There is no special support for removing Revision 1 6 Page 7 of 18 ALMA Object explorer invocations in the OE GUI part Invocations are removed by the engine when the object represented by them is destroyed or they are not needed by the engine anymore usually engine provides a method to destroy an invocation Invocations report remote responses which are printed in the remote response window e Other nodes in the tree are used as containers for the object nodes and are not controllable in any way 4 2 3 Connect popup menu This popup menu appears when user right clicks on an introspectable node It shows the object s name and allows user to connect or disconnect the object 4 3 Operations and Attributes lists The operations and attributes lists show the selected object s operations methods and attributes fields When user selects an introspectable object in the tree its members are found and listed in the two lists If a node is clicked while the engine searches fo
5. is specified by the max no of results text field Scale of the trend chart is determined by the values as they arrive 5 1 3 Operations panel oes oe booleanYalue false readback create monitor suspend gt Return value null resume gt Timeout raised by the engine while waiting for response B Ol readback create_monitor resume gt Return value null gt Timeout raised by the engine while waiting for response Operations panel shows all the operations of the invocation that produces remote responses User can invoke operations in a similar manner as in the operations list in the main window of Object Explorer Results are printed in the text area next to the list Revision 1 6 Page 11 of 18 ALMA 6 OE dialogs 6 1 Parameters dialog Object explorer arg Constructor parameter 1 Constructor parameter 2 Constructor parameter 3 Constructor parameter 4 ey PBEND_E 01 rebind ConnectionParameters int onnectionParameters PS GIZMO O1 TEN Parameters dialog is shown when an operation which reguires user input is invoked It consists of three columns showing name and type of the parameter and a component where user specifies the parameter value e primitive types except booleans and strings are entered into a text field as strings and converted into appropriate values e booleans are entered by checking true or unchecking false a checkbox
6. the dialog window 4 5 Message text area Message text area displays messages reported by the GUI or OE engine When an error occurs a message is also printed here Maximum number of lines printed is 1000 The popup menu on this text area is the same as on the Result text area Revision 1 6 Page 9 of 18 ALMA Object explorer 5 RemoteResponse window SAN 6 PBEND_E 01 Readback PropertyChangeListener a EO O O EME EDI data source name readback event string PBEND E Ol readback Value 115 5692934622246 Time 1013460285347 gt Response for PBEND E Ol Readback PropertyChangeListener gt Message property changed gt Parameters new value 126 17164263823607 old value null device server time 1013460286349 property name latestReceivedValue data source name readback event string PBEND E Ol readback Value 126 17164263823607 Time 1013460286349 RemoteResponse window shows results of a single invocation The title bar displays its name and serial number Two labels display the serial number and the message of the last response received User can specify the number of responses shown by the window in the max no of results text field to prevent excessive memory consumption To change this number click on the text field and write a number must be between 1 and 10 Then press enter to update the value If an invalid number is typed the old value is restored User can disable all graphical output order to free C
7. unlimited and whose progress will be monitored by a callback examples are BACI Events and BACI Monitors 4 If an interface declares an IDL attribute of type readonly or a method with signature lt return value gt get lt property name gt and the return value does not Revision 1 6 Page 17 of 18 ALMA Object explorer inherit from ACS Property this method is considered to be a BACI static item accessor 5 If an interface declares a method with void return type and variable number of parameters exactly one of which inherits from ACS Callback this one being followed by an ACS CBDescln parameter such method is recognized as a BACI Action 6 All other methods are invoked and have their parameters packed unpacked verbatim with BACI engine making no assumptions about the method behavior The contents of the tree are described in Section 3 of this document BACIIntrospector and BACIRemoteAccess will place upon making the above analysis e BACI Components into the OE tree as Introspectable nodes e BACI Properties into the OE tree as Introspectable nodes children of the corresponding BACI Component nodes The lifecycle of BACI Property nodes is dependent on the lifecycle of the BACI Component nodes e Invocations as soon as they are created into the OE tree as Simplelntrospectable nodes children of their corresponding Introspectable nodes e BACI Actions methods used verbatim under the Operations list e BAC
8. I static data item accessors under the Attributes list 75 Callbacks BACI engine implements BACI callbacks as a CORBA DSI Dynamic Skeleton Interface server This means that OE is capable of unpacking any callback if its interface is present in the interface repository The callback message will be the name of the method in the callback interface invoked by the server e g working or done The callback parameters will be a list of all parameters passed to the callback method Because DSI is used to unpack callbacks the OE cannot handle many callbacks set to high refresh rates simultaneously especially since the rendering of the results also takes a considerable amount of CPU time Revision 1 6 Page 18 of 18
9. PU time by clicking the Disable output button User can not close the RemoteResponse window while the invocation is still active i e not destroyed by the engine See engine specifications section 6 of this document to find out how to destroy invocations To display responses and manipulate the invocation three panel are available in the window 5 11 Text output panel displayed in the above picture shows the latest remote responses Each response starts with its invocation name serial number and message Then the response data is enumerated Old responses are deleted from the text area according to the max no of results specified by the user When the window is minimized all responses are buffered and printed to the text area only upon restoring the window Popup menu on the text area offers Save and Expand result data options which allow user to save the text in the area to a file and to expand the data returned by responses 5 1 2 Trend panel Revision 1 6 Page 10 of 18 ALMA Object explorer new value device server time 1000 time new value rver time 1000 40 00 09 44 00 09 47 39 Trend panel shows the receieved data in a trend graph User can select the desired Y and X value shown from the lists on the left Values that can be chosen are time which is the system time at the arrival of response to the window and other numerical data contained in the remote response Number of points shown on the trend
10. bject Explorer OE is a generic tool used for low level inspection of objects in a software environment like BACI or AbeansR2 It can be used as a debugging or testing tool by the developers and maintainers of a control system Basically OE is split into two parts e the GUI part si ijs acs objectexplorer package which is independent of the inspected control system e the Engine which is different for each control system and communicates with object servers Both parts communicate through interfaces defined in the si ijs acs objectexplorer engine package The main part of the engine is its RemoteAccess class which provides the connection to the inspected system 2 Application overview User connects to a remote system by clicking the Connect option in File menu and selecting the type of remote access he would like to use Objects are shown in the tree below the button By selecting an object its operations and attributes are shown in the lists on the right side of the window User invokes operations and inspects attributes by double clicking on them in the lists Operations that require parameters will show a Parameter window and the user is asked to insert parameter values into appropriate fields Results of these actions will be reported to the Result text area or to the RemoteResponse window There are two different windows in the OE application OE main window used for connecting to objects invoking their operations and inspe
11. cting attributes and RemoteResponse window where responses of the invocations are shown There is also the Error dialog which appears every time an exception occurs Parameters dialog which is used for acquiring parameters for method invocations and RemoteAccessDestroy dialog which appears when OE is disconnecting from the control system and monitors the status of the disconnecting process 3 Running Object Explorer Object explorer can be started in various ways in the ACS environment e Commnad line Revision 1 6 Page 5 of 18 ALMA Object explorer e Command center e Web start e Java class 4 Main window Object Explorer Object PBEND_E 01 Readback ji Beamlines gt Booster eb Distribution ap Extraction Line FluorescentScreen InfoServer 8 Powersupply EP PBEND_E 01 4 Current El Status PBEND_E 02 PCH E01 PCH_E 02 PCH_E 05 fe PCH_E 06 PCV_E 01 PCV_E 02 PCV_E 03 PCV_E 04 PCV_E 05 FE PCV_E 06 PQ_E 01 PQ_E 02 PBEND E Ol Readback Identifier gt Return value si ijs anka abeans Property 1 IdentifiableImpl e29 si ijs anka abeans Property 1 IdentifiableImp1 getNane readback getFullName PBEND E Ol readback IgetshortName PBEND E Ol readback getType l IgetParent si ijs anka abeans Abean l IdentifiableImpl46c04 lisDebug true getIdentified PBEND E Ol readback PBEND_E 0l Readback Format gt Return value 9 4f PBEND_E 0l Readback Name gt Return value
12. default all debug from OE GUI and engine is printed to the console Debug is ignored otherwise 41 3 Engine menu appears when OE is connected to the engine It is engine specific allowing user to configure engine and control its behavior 4 2 OE Tree 4 21 Search Button Restarts the remote session connects to the selected engine by creating and initializing a RemoteAccess class and searches for the root nodes in the system domains or other object groups If another RemoteAccess is already present OE destroys it allowing it to disconnect from the remote server before starting a new session All RemoteResponse windows are closed upon disconnection Remote AccessDestroy dialog is shown 4 2 2 Nodes Nodes in the tree represent object groups objects their properties and invocations When a node is expanded for the first time the engine searches for its subnodes After that nodes cannot be removed from the tree and they can not be refreshed In order to refresh the whole tree properly user should press the Start Search button again e Objects and properties are introspectable nodes when user clicks on one of them its operations and attributes are displayed They also support connecting and disconnecting User can connect to an object either by right clicking on the node and selecting connect on the popup menu or by selecting the node in the tree Connected nodes are displayed with a different color and in bold font To disconnect
13. emote objects and will ask OE GUI to query the users to enter the operation parameters e BACIRemoteAccess will finally perform the disconnection and deallocation of the resources if the OE GUI destroys the engine BACI Engine checks also for Dobjexp pool_timeout property that defines CORBA DII response poll timeout in milliseconds Default is 5000ms In order for the BACI engine to function properly the following Java components must be properly installed and configured 1 Manager and repository corbalocs must be specified 2 OE must be compiled to the jar file and present in the classpath 3 MACI IDL must be compiled to a jar using IDL to Java compiler and present in the classpath Revision 1 6 Page 14 of 18 ALMA 7 3 Object explorer 4 IDLs for all BACI Components must be compiled to a jar using IDL to Java compiler and present in the classpath 5 Orbacus Interface Repository irep executable must be loaded IDLs of MACI and all BACI Components must be loaded into the repository using the irfeed executable Technical note This is an explanation for the required presence of IDL to Java compiled IDLs for all BACI Components BACI engine will use these java classes only insofar a BACI Component or Property declares an operation or attribute that passes a complex data type as a parameter Complex data types supported by BACI engine are structures and enums In other words if a Component or a Property passes a user def
14. he remote call argument amp return maps to Java double float argument amp return maps to Java float Revision 1 6 Page 16 of 18 ALMA Object explorer argument maps to Java byte return maps to Java short to handle it as unsigned type longlong ulonglong argument amp return maps to Java long ulong long argument amp return maps to Java int short ushort argument amp return maps to Java short boolean argument amp return maps to Java boolean other IllegalArgumentException raised by BACI engine Note IDL treats sequences as type alias because they are defined using the typedef syntax BACIIntrospector class uses CORBA introspection to determine design patterns in IDL interfaces that comply with the design patterns defined in the BACI document BACIIntrospector uses the following rules to determine the nature of the design pattern 1 If the interface inherits from ACS Component and is returned by the Manager on the component query it is considered to represent a BACI Component 2 If the interface is contained within a BACI Component and inherits from ACS Property it is considered to represent the BACI Property 3 If an interface declares a method that returns an instance of ACS Subscription and takes exactly one argument of type inheriting from ACS Callback followed by an argument of type ACS CBDescln the method is considered to represent a Invocation i e an action whose duration is
15. ined structure as parameter in any operation the BACI engine will need IDL to Java compiled java stubs for that structure or enum BACI engine will use Java introspection to load the stubs query the user to provide instance data for the struct or the enum instantiate the stub and pass it as an argument to the remote method through CORBA DII It would be possible to avoid having to provide Java stubs for BACI Components if CORBA DynAny would be used instead of Java Introspection Although this is possible it is quite complicated and considerably slower Value conversion Object explorer engine supports automatic value conversion It is made to be completely generic so even converting e g degress double type to dd mm ss converter defined structure containing dd mm ss is supported An additional property needs to be specified Dobjexp converters lt config file gt where value is file name which contains a list of classes implementing Converter instance File looks like this it is located in objexp test as an example list of classes implementing si ijs acs objectexplorer engine Converter interface si ijs acs objectexplorer engine BACI converters BACIDouble1000Multiplier si ijs acs objectexplorer engine BACI converters BACIDegrees TODDMMSSConv erter In this way objexp is fully extensible Conversion can be enabled per inspectable instance in ACS case component or property To enable it right click over property and select con
16. r the members of another node the last selection is ignored and members of the node clicked first are displayed A label above the lists displays the selected object s name Next to the label there is a check box which toggles the display of special operations and attributes 4 3 1 Operations Operations methods are displayed in the left list represented by their name and parameters types in parentheses Parameters that are provided by the engine and do not have to be entered by the user are enclosed in lt gt signs Array types are represented with a set of for each dimension of the array To invoke an operation double click on it in the list If no user entry is required it will be invoked immediately otherwise a Parameters dialog will appear and operation will be invoked after the user clicks the Invoke button Operation results return values are printed into the Result text area or into the RemoteResponse window if more than one response is received Invocations are objects that are temporarily created when user invokes an operation and are capable of reporting multiple responses A node representing invocation is displayed in the OE tree as a subnode of the object whose operation caused it They are removed from the tree when they are no longer needed i e when engine knows they would not produce responses any more 4 3 2 Attributes Attributes fields are displayed in the right list represented by the name Double click re
17. ss instance alive In practice this is as long as the user does not press the Start Search button again BACI Engine BACI engine consists of an implementation of interfaces specified in si ijs acs objectexplorer engine BACIRemoteAccess is responsible for establishing a connection to MACI Managers using CORBA The same class performs the following functionality e It uses either the manager and repository specified in the BACI Engine m Manager IR corbaloc menu or the corbalocs specified as the command line parameters using the DACS manager and DACS repository options The corbaloc parameters are always given in the form corbaloc lt server gt port lt ID gt where ID is Manager for the manager corbaloc and DefaultRepository for the Interface Repository As soon as these parameters are specified the BACIRemoteAccess connects to the server and the interface repository e After the connection has been established the BACIRemoteAccess will query the Manager to obtain a list of component names which the OE GUI will subsequently display in the tree on the left When an entity is selected in the tree the BACIRemoteAccess will establish a connection to the remote entity either a BACI Component or a BACI Property Furthermore CORBA introspection will be used to determine BACI compliance and identify BACI design patterns such as actions static items etc e BACIRemoteAccess will also use CORBA DIT to invoke operations on the r
18. trieves the attribute value and prints it into the Result text area Currently attributes can only be read setting their values is not implemented yet Usually objects will have methods used to set their attributes Revision 1 6 Page 8 of 18 ALMA Object explorer 4 4 Result text area Result text area is displayed in the lower right corner of the OE main window It contains results from invoked operations and inspected attributes A result report consists of a serial number a string representing the object followed by the operation attribute name and return value Auxiliary return values are parameters passed to the method either by the user or the engine Return values are displayed by their String representation or a hierarchical list of attributes as specified by the user in the View menu Maximum number of lines displayed in the text area is 1000 If the output is longer than that the text is trimmed at the beginning Text in the text area is not editable may be on some platforms However user can copy the text to the clipboard by typing CONTROL C By clicking the right mouse button on the text area a popup menu with two options is displayed e Save the contents of the text area are saved to a file specified by the user e Expand to dialog the text area is removed from the main window and displayed in a separate dialog window It can be placed into the OE window again by clicking Dock in the popup menu or closing
19. using the engine s RemoteAccess class to disconnect from the remote system RemoteAccessDestroy dialog prevents from improper destroy and disconnect of the RemoteAccess class while allowing user to terminate the application normally if the disconnect fails User can terminate the application or continue with a new session by clicking the Terminate button Errors that occur during the destroy process do not show an error dialog The RemoteAccessDestroy dialog indicates how many errors occurred and their exception stack trace 1s written into the console RemoteAccessDestroy dialog closes when the destroy procedure ends unless there are any errors In this case user should click the Close button to close the window 7 Object Explorer Engine 71 Overview The Object Explorer GUI is independent of the control system communication protocol with which the OE communicates The part of the Object Explorer that depends on the client server communication architecture e g BACI CORBA simulator is called an Engine All engines implement a common set of interfaces declared in the si ijs acs objectexplorer engine package The only class accessed directly by the OE GUI is the RemoteAccess class which serves as a factory for other instances of types declared in si ijs acs objectexplorer engine package The connection to the remote Revision 1 6 Page 13 of 18 ALMA 7 2 Object explorer server is kept alive as long as the OE GUI keeps the RemoteAcce
20. verter in convert menu Since converters are completely BACI independed there is a BACIConverterSupport abstract class which helps programmers to write only a minimum set of methods and Revision 1 6 Page 15 of 18 ALMA Object explorer conversion will be applied on all methods related to property value all get methods all set methods history set get_value_trigger units 7 4 Supported IDL types IDL2BACI mapping As of now the BACI engine for Object explorer supports the following IDL defined types IDL type IDL type code kind TCKind Action taken by OE when packing as a method argument unpacking as a method return value arguments of this type any return recursively unpacks the contents of any JS argument not handled by the OE objref return unpacks to Java java lang Object instance use introspection to display the accessible fields argument not handled by the OE unless one of the predefined BACI types e g Callback struct alias enum return loads Java stub extracts packed value by calling extract method on the stub struct retuned by this method is further only introspected and not managed anymore no conversion is done by objexp enums are not converted to its name octet not converted to short type to handle it as unsigned type enums are converted to its name using introspection on Java stubs argument loads Java stub uses introspection to create a new instance and pass it to t
21. verview naaa anna aaa kanan rr 5 3 Running Object Explorer anna nenen anna nana nc 5 4 MaM WAW sonerii cc 6 A a AAA A AAA a a ang O PA KE atan 6 4 MT sni A E AA A ET A A E Dn ela her beer Su jelena 6 A VON EEEE EN A E T A 6 413 Engine MN ui A E A pS eas 7 ALOE TOE a e EEA OA A A dd A A di 7 42S earch BUON A Rea NEE A E A a A ta 7 4 2 2 NOAOS ai a Si Ana 7 4 2 3 Connect popup MENU 8 4 3 Operations and Attributes lists nn 8 4 3 1 Operations iii A A A vsul 8 4 3 2 ADULTOS iin nina vee a aes eve ee A ened neat aaa 8 4 4 Result teXtal8A iii A JE EEA od Ju PP Pa ee blas 9 4 5 Message text area 9 5 RemoteResponse window nannnnnnnnanannnnnnnnnnnnnnnnnnnnnnnannnnnnnnnnnnnnnnnnn nana 10 5 1 1 Text output panel san A nine iii Ave vise dih e eed dead veljav v aad aei 10 SEAIN Inle 0 gt ale si iN a E SENA E ETT 10 DTS Operations pang Bean de tit lite ed Sana belini 11 eRe oTo e E E T iia 12 6 1 Parameters ll oere a AEE ARE A ES ea 12 A Error dal ia aa 12 6 3 RemoteAccessDestroy dialog 13 T Object Explorer Engine i sise iii A ii 13 PAE EE Wii a Aba eni iri teli iii budi ih eni pli ETTEN 13 2 BAGIIENGIMG Si A Ni an A A ENIM DEA A ena AMAN kila 14 ERAN nn NA Bn AAA KA AAA KA a AAA A A AA ii 15 7 4 Supported IDL types IDL2BACI mapping nn 16 7 5 GallOAGKS ini tea nie a NMP 18 Revision 1 6 Page 4 of 18 ALMA Object explorer 1 Introduction O
Download Pdf Manuals
Related Search
Related Contents
Enermax EMK3101 drive bay panel 供給設備使用貸借契約書(案) 新潟大学地域医療教育センター・魚沼 8482/8483 - LEGO.com Readme do Novell SecureLogin 6.1 Support Pack 1 Samsung AFXDSH036EA 用户手册 MDV-727DT MDV-626DT - ご利用の条件|取扱説明書|ケンウッド Samsung ST700 Инструкция по использованию Philips BEARDTRIMMER Series 3000 beard trimmer QT4000/13 Copyright © All rights reserved.
Failed to retrieve file