BASEstar_Open_Server_for_UNIX_______________________ Release Notes February 1996 This document contains the release notes for BASEstar Open Version 3.0 for Digital UNIX Version 3.2 and HP-UX Version 10.0. Revision/Update Information: This is a new document. Software Version: BASEstar Open Version 3.0 Digital Equipment Corporation Maynard, Massachusetts ________________________________________________________________ February 1996 © Digital Equipment Corporation 1996. All Rights Reserved. Possession, use, or copying of the software described in this documentation is authorized only pursuant to a valid written license from Digital or an authorized sublicensor. Digital Equipment Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. The postpaid Reader's Comments forms at the end of this document request your critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: Alpha AXP, BASEstar, DEC, DECmessageQ, DECnet, DECnet-DOS, DECosap, DEComni, Digital, Digital UNIX, FMS, LN03, MicroVAX, NAS, OpenVMS, OpenVMS Alpha, PATHWORKS, PDAS, Rdb/VMS, ReGIS, ThinWire, TK, ULTRIX, VAX, VAXcluster, VAX COBOL, VAX FORTRAN, VAX Pascal, VAX RMS, VMS/ULTRIX Connection, VT, and the DIGITAL logo. The following are third-party trademarks: Excel is a registered trademark of Microsoft Corporation. IBM is a registered trademark of IBM Corp. INGRES is a trademark of Ingres Corp. LOTUS 1-2-3 is a registered trademark of Lotus Development Corp. MS, Microsoft, and MS-DOS are registered trademarks of Microsoft Corporation. Network File System and NFS are trademarks of Sun Microsystems, Inc. ORACLE is a trademark of Oracle Corp. PostScript is a registered trademark of Adobe Systems Incorporated. SINEC AP, SINEC H1, SICOMP, Simatic, SINEC, SINUMERIK and SIROTEC are registered trademarks of Siemens, AG. UNIX is a registered trademark licensed exclusively by X /Open Company Ltd. Windows and Windows NT are trademarks of Microsoft Corporation. Wonderware InTouch is a registered trademark of Wonderware Corporation. X/Open is a registered trademark of the X/Open Company Limited This document was prepared using VAX DOCUMENT, Version 2.1. _________________________________________________________________ Contents Preface................................................... v 1 Introduction and General Release Notes 1.1 Differences/Enhancements With Respect to BASEstar Open Version 2.0................................. 1-1 1.2 BASEstar Open Documentation Set.................. 1-2 1.3 Pre-requisites................................... 1-3 1.4 BASEstar Open Inter-Version Compatibility........ 1-3 1.5 Implementation-Dependent Characteristics......... 1-4 2 Installation Release Notes 2.1 Installation Verification Procedure (IVP)........ 2-1 3 Release Notes Specific to BASEstar Open for UNIX 3.1 Modified Functionality........................... 3-1 3.1.1 DEC C Compiler ................................ 3-1 3.1.2 Data & Device Manager (DDM) ................... 3-1 3.1.3 Using the bstr_object_get_attributes Procedure...................................... 3-2 3.1.4 Log Files ..................................... 3-3 3.2 Restrictions..................................... 3-4 3.2.1 Fields in a Structure_Datatype ................ 3-4 3.2.2 The Time Datatype ............................. 3-4 3.3 Bug Fixes........................................ 3-5 3.3.1 Loading Snapshots Containing a Data_Point with a Complex Structure_Datatype................... 3-5 3.3.2 Mapping BIT Data_Points to non-BIT Data_Points.................................... 3-5 3.3.3 Mapping a FIXED_LEGNTH Array to a VARIABLE_LENGTH Array.......................... 3-6 iii 3.3.4 Duplication of Variable Names ................. 3-6 3.3.5 Unlinking a Consumer from a Remote Producer ... 3-7 3.3.6 Crash Resulting from Attempt to Extend the VODB........................................... 3-7 3.3.7 Segmentation Fault Caused by Wildcard Procedures..................................... 3-7 3.3.8 Unpredicatable Behavior of bstr_composite_loop with Packet Services server.................... 3-8 3.3.9 Creating a Trigger Object ..................... 3-8 3.3.10 Sending a Packet to a Port with -SYSTEM_BUFFERING Full......................... 3-9 3.3.11 Creating AMS Objects in a Distributed Environment.................................... 3-10 3.3.12 Definition of BSTR_PROGRAM .................... 3-10 3.3.13 DB_SERVER Loop ................................ 3-11 3.3.14 Starting an Actor ............................. 3-11 3.3.15 CLI Handling of Event Notifications ........... 3-11 3.3.16 Unsolicited Messages Received via DECosap ..... 3-12 3.3.17 Terminating an ENCAPSULATED Program in a Distributed Realm.............................. 3-14 3.3.18 Using the Application Management Services Monitor in a Distributed Environment........... 3-16 3.3.19 Use of / with the Application Management Services Monitor.................... 3-16 3.3.20 Using the GET VALUE DATA_POINT Command on a non-Existent Device............................ 3-16 3.3.21 Use of CANCEL_ON and CANCEL_OFF Thread Markers........................................ 3-17 3.4 Known Problems................................... 3-18 3.4.1 Commands Not Displayed in the CLI Help ........ 3-18 3.4.2 Checking the Mapping Path ..................... 3-18 3.4.3 Checking Filter Expressions ................... 3-18 3.4.4 Datatype Congruency Checks .................... 3-18 3.4.5 Device Variable Address Checks ................ 3-18 3.4.6 Forcing an Exit from the CLI .................. 3-18 3.4.7 Support of Wildcard Characters ................ 3-18 3.4.8 Output from the CLI ........................... 3-19 3.4.9 Interrupting Execution of a Command File ...... 3-19 3.4.10 Resizing a Terminal Window .................... 3-19 3.4.11 Threads and the send_to_user_port Internal Routine........................................ 3-19 3.4.12 Threads and Sequence Numbers .................. 3-19 3.4.13 Using bstr_initialize After bstr_finish ....... 3-20 iv 3.4.14 Referencing an Object After Server Shutdown ... 3-20 4 Documentation Release Notes 4.1 The BASEstar Open Application Programming Interface........................................ 4-1 4.1.1 General ....................................... 4-1 Tables 1-1 Data Management Characteristics ............... 1-4 1-2 Event Management Characteristics .............. 1-5 1-3 Packet Management Characteristics ............. 1-6 1-4 Application Management - Configurable objects........................................ 1-6 1-5 Program/Environment Parameter File ............ 1-7 v _________________________________________________________________ Preface Kit Identification You can identify this kit by the identifier that BASEstar Open processes print on the log files: "BASEstar Open V3.0 (BSTBASE300)" v 1 _________________________________________________________________ Introduction and General Release Notes The structure of this document is as follows: o Chapter 1 provides a basic introduction to BASEstar Open Version 3.0 on UNIX platforms. o Chapter 2 contains release notes relevant to the installation of BASEstar Open Version 3.0 on UNIX platforms. o Chapter 3 lists all release notes concerning development issues specific to BASEstar Open for Version 3.0 on UNIX platforms. o Chapter 4 lists all release notes concerning documentation issues specific to BASEstar Open for Version 3.0 on UNIX platforms. 1.1 Differences/Enhancements With Respect to BASEstar Open Version 2.0 The new features provided by BASEstar Open Version 3.0 are as follows: o Possibility of deleting and modifying objects in the Volatile Object Database (VODB) o Expression handling - the ability to alter the value of a BASEstar Open Data_Point by means of a computation involving a mathematical or logical expression o A new server called the Data & Device Manager (DDM) that combines the Data Manager (DTM) and the Device Manager (DVM), thereby eliminating the need for inter-process communication between these servers o Generation of snapshot files from the Volatile Object Database Introduction and General Release Notes 1-1 Introduction and General Release Notes 1.1 Differences/Enhancements With Respect to BASEstar Open Version 2.0 o Generation of CLI scripts from the Volatile Object Database, by means of an appropriate CLI command o An increase in the number of parameters that you can specify with an Event o The possibility of assigning both read and write status to Device_Data_Points o The possibility of adding new DASes without having to rebuild servers o Dynamic loading of the Device Connection component - if you do not wish to use Device Connection, you can opt to not install it o 8-bit character support in comments and descriptions o The bstr_data_point_get_value procedure allows you to read the value of a Mapped_Data_Point 1.2 BASEstar Open Documentation Set This manual describes a software component or aspects of the BASEstar Open family of products. The complete set of documents relating to the BASEstar Open family is as follows: o BASEstar Open: - BASEstar Open Introduction - BASEstar Open Reference Guide - BASEstar Open Command Language Interface - BASEstar Open Application Programming Interface - BASEstar Open Messages - Platform-specific installation and management guides - BASEstar Open Guide to DCM-Modeled Device Connectivity (for supported platforms) o BASEstar CIMfast (for supported platforms): - BASEstar CIMfast User's Guide - BASEstar CIMfast Programmer's Reference Guide - BASEstar CIMfast Guide to DECmessageQ Support 1-2 Introduction and General Release Notes Introduction and General Release Notes 1.2 BASEstar Open Documentation Set - BASEstar CIMfast Guide to SQL Support o DEComni API: - DEComni API User Guide - DEComni API Guide to Using Omni Directory Services (for supported platforms) - DEComni API Guide to Using OmniView (for supported platforms) o Device Access Software documentation - Specific manuals for each supported device 1.3 Pre-requisites On UNIX platforms, BASEstar Open runs on the following architecture and software configuration: o An Alpha processor (Digital UNIX) or any 700 series processor (HP-UX). The SPD contains a comprehensive list of the processors supported, together with any restrictions. o Digital UNIX Version 3.2 (or higher) for Digital UNIX platforms, or HP-UX Version 10.0 (or higher) for HP-UX platforms. 1.4 BASEstar Open Inter-Version Compatibility o Although BASEstar Open Version 3.0 can handle snapshots created with previous versions of the product, there is no guarantee that the reverse is possible. o Although BASEstar Open Version 3.0 can handle CLI scripts created with previous versions of the product, the reverse is only possible if you do not use Version 3.0 features. o BASEstar Open Server Version 3.0 cannot connect to previous versions of BASEstar Open Client. Introduction and General Release Notes 1-3 Introduction and General Release Notes 1.5 Implementation-Dependent Characteristics 1.5 Implementation-Dependent Characteristics The tables that follow contain details of the characteristics implemented in BASEstar Open services. Table_1-1_Data_Management_Characteristics__________________ Description_______________________________Value____________ Maximum number of Activities (with AMS) 32 Maximum number of Activities (without 1 AMS) Maximum number of objects in a Domain No limit Maximum number of Data_Points in a Data_ No limit Point_Set Maximum Data_Point size 64512 bytes Maximum number of Triggers associated No limit with a Data_Point Maximum number of Trigger Event 1024 parameters Maximum number of Trigger Filter 33 parameters Maximum number of operands in a Filter 33 expression Maximum number of operators in a Filter 32 expression Maximum_number_of_clients_per_Activity____40_______________ 1-4 Introduction and General Release Notes Introduction and General Release Notes 1.5 Implementation-Dependent Characteristics Table_1-2_Event_Management_Characteristics_________________ Description_______________________________Value____________ Maximum number of Activities (with AMS) 32 Maximum number of Activities (without 1 AMS) Maximum number of objects in a Domain No limit Maximum number of Events in an Event_Set No limit Maximum number of Event parameters 1024 Maximum Event parameter size 64512 bytes Maximum number of clients per Activity 40 Maximum number of Enboxes bounded to a No limit client Maximum notification size (User Enbox) 8192 bytes Maximum notification size (System Enbox) No limit Maximum number of asynchronous requests 10 pending on a System Enbox Maximum number of synchronous requests 1 pending_on_a_System_Enbox__________________________________ Introduction and General Release Notes 1-5 Introduction and General Release Notes 1.5 Implementation-Dependent Characteristics Table_1-3_Packet_Management_Characteristics________________ Description_______________________________Value____________ Maximum number of Activities (with AMS) 32 Maximum number of Activities (without 1 AMS) Maximum number of objects in a Domain No limit Maximum number of input Packet 64 parameters Maximum number of output Packet 64 parameters Maximum Packet parameter size 64512 bytes Maximum number of clients per activity 40 Maximum number of ports bounded to a No limit client Maximum notification size (User Port) 8192 bytes Maximum notification size (System Port) No limit Maximum number of asynchronous requests 10 pending on a System Port Maximum number of synchronous requests 1 pending_on_a_System_Port___________________________________ Table_1-4_Application_Management_-_Configurable_objects____ Resource________________________Maximum_value______________ Maximum number of Activities 32 [1] per program Maximum number of Nodes 64 Maximum number of Actors 400 Maximum number of Programs 400 Maximum number of Activities 400 [1]Only_for_Data,_Event,_Packet,_Device_Manager_Programs.__ No limit for User Programs ___________________________________________________________ Table 1-5 lists the maximum value of the Program/Environment parameter file. 1-6 Introduction and General Release Notes Introduction and General Release Notes 1.5 Implementation-Dependent Characteristics Table_1-5_Program/Environment_Parameter_File_______________ Resource________________________Maximum_value______________ Maximum input line length 256 Maximum number of lines No limit Maximum length of file names 254 Maximum number of env pair per 128 Program Maximum number of arg pair per 128 Program____________________________________________________ Introduction and General Release Notes 1-7 2 _________________________________________________________________ Installation Release Notes 2.1 Installation Verification Procedure (IVP) To run the BASEstar Open Installation Verification Procedure (IVP) and the setup procedures, you must configure TCP/IP on the node where you intend to install the product. To check that your node is configured properly, type the following command: $ telnet `hostname` If you do not receive the login prompt, ask your system manager to check that TCP/IP has been configured correctly on your system. Installation Release Notes 2-1 3 _________________________________________________________________ Release Notes Specific to BASEstar Open for UNIX 3.1 Modified Functionality 3.1.1 DEC C Compiler BASEstar Open Version 3.0 supports the DEC C compiler (whereas Version 2.0 used the default UNIX C compiler). Given that the two compilers handle data structures differently, it is essential that you use the DEC C compiler to compile BASEstar Open applications. Failure to do so leaves you open to the risk of incompatibility between the data structures in your application and those of BASEstar Open, with unpredictable results. For further information, refer to the BASEstar Open Application Programming Interface. 3.1.2 Data & Device Manager (DDM) In addition to improving performance, the new Data & Device Manager provides several enhancements with respect to the separate Data Manager and Device Manager components present in Version 2.0: o Support for passive connections Instead of actively establishing a connection to the physical device, you can configure a Data & Device Services server to listen passively for connection requests from the device. To configure the server to do this, follow these steps: - Define the BSTR_LOCAL_VMD_NAME environment variable to specify the local VMD name. (This operation was executed previously by the Device Services server, but for a different purpose.) - Define the BSTR_CONN_MODE environment variable as "PASSIVE". Release Notes Specific to BASEstar Open for UNIX 3-1 Release Notes Specific to BASEstar Open for UNIX 3.1 Modified Functionality If the BSTR_CONN_MODE environment variable is either undefined or defined as "ACTIVE", the Data & Device Services server will actively establish the connection. o Support for unsolicited Read and Write Variable services. A Data & Device Services server can now receive and handle Read Variable/Write Variable indications. Unlike information report indications (previously supported by the Device Services server), these indications are related to variables belonging to the local VMD. You can configure them as was previously the case for remote VMD variables. It is also possible to link Named_Variables and Unnamed_Variables, configured under the local VMD, to Device_Data_Points. BASEstar Open handles write indications in the same way as information reports; that is, it copies the variable value to all linked Device_Data_Points, provided that they have been configured to work in unsolicited mode. However, BASEstar Open handles read indications by returning the Named_Variable/Unnamed_Variable value stored in the Data & Device Services server run-time database without accessing any Device_Data_Points. A bstr_data_point_put_value routine executed on a Device_ Data_Point updates the variable value stored in the DDM run-time database. 3.1.3 Using the bstr_object_get_attributes Procedure In BASEstar Open Version 3.0, the bstr_object_get_ attributes procedure always returns a sequence of attributes (or an empty sequence), regardless of whether or not you specify an attributes_name argument. As a result, BASEstar Open no longer returns the warning code "BSTR_S_ NO_SUCH_ATTRIBUTE" under any circumstances. This represents a fundamental change in the behaviour of the procedure with respect to Version 2.0. For full details of the changes in the behaviour of this function, refer to the BASEstar Open Application Programming Interface. 3-2 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.1 Modified Functionality 3.1.4 Log Files Due to an increase in the quantity of messages logged at Activity startup/termination by BASEstar Open Version 3.0 with respect to BASEstar Open Version 2.0, the corresponding log files may be somewhat greater in size. It is therefore recommended that you monitor them in order to avoid problems resulting from insufficient disk space. Release Notes Specific to BASEstar Open for UNIX 3-3 Release Notes Specific to BASEstar Open for UNIX 3.2 Restrictions 3.2 Restrictions 3.2.1 Fields in a Structure_Datatype After creating a Structure_Datatype, it is not possible to modify or delete a field in the datatype. You must delete the datatype and then recreate it with the required fields. 3.2.2 The Time Datatype The Time datatype is not fully managed in a heterogeneous environment Digital UNIX handles time zone and daylight saving time when returning the system time, whereas OpenVMS and MS Windows ignore it. At present, BASEstar Open does not manage this discrepancy and therefore time- related information may not be accurate in case of interoperability. To summarize: o Interoperability Digital UNIX <-> OpenVMS: the exchanged time may not be valid o Interoperability Digital UNIX <-> MS Windows: the exchanged time may not be valid o Interoperability MS Windows <-> OpenVMS: time can be exchanged 3-4 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3 Bug Fixes 3.3.1 Loading Snapshots Containing a Data_Point with a Complex Structure_Datatype Previously, BASEstar Open was unable to load a snapshot containing a Data_Point to which a complex Structure_ Datatype, such as the one defined below, was associated. CREATE STRUCTURE_DATATYPE AL1_MDS_Struct \ -DESCRIPTION "Data for the automatic line 1" \ -MEMBERS (CountDay:INTEGER_32 \ CountShift:INTEGER_32 \ Pace:DPPace \ LineThroughput:INTEGER_32 \ YieldLine:F_FLOAT \ TestFlash:TestCell \ GE_A:GECell \ TestPre:TestCell \ GE_B:GECell \ GE_C:GECell \ GE_D:GECell \ TestCon:TestCell \ TestFinal:TestCell \ GE_E:GECell \ GE_F:GECell) An operation of this type caused the Data Services server to crash. The problem occurs when a BASEstar Open object is instanciated if its datatype is a structure with 2 or more structure members with alignment holes. This problem has been corrected in BASEstar Open Version 3.0. 3.3.2 Mapping BIT Data_Points to non-BIT Data_Points Previously, it was not possible to map BIT Data_Points to non-BIT Data_Points. If you attempted to do so, BASEstar Open gave incorrect values for the Mapped_Data_Points. This problem has been corrected in BASEstar Open Version 3.0. Release Notes Specific to BASEstar Open for UNIX 3-5 Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3.3 Mapping a FIXED_LEGNTH Array to a VARIABLE_LENGTH Array In previous versions of BASEstar Open, an attempt to map a FIXED_LENGTH array onto a VARIABLE_LENGTH array resulted in an "illegal datatype" error, event if the two arrays were of the same length. This problem has been corrected in BASEstar Open Version 3.0. 3.3.4 Duplication of Variable Names In previous versions of BASEstar Open, a configuration that included Named_Variables which shared the same name but belonged to different VMDs was unable to cope with a change in the value of one of the Named_Variables. It caused all unsolicited Device_Data_Points mapped to the Named_Variable to assume the same value. The example below illustrates the incorrect behaviour. A change in the value of the Named_Variable PLC1.V1 causes the values of the Device_Data_Points /DOM/DDP1 and /DOM /DDP2 to change accordingly. In reality, only /DOM/DDP2 should change. create protocol SIEMENS_AP -maxpdu 1024 -applprofid 11 ! crea VMD PLC1 -dvm_access "/CN=PLC1":SIEMENS_AP \ -model "XXX" -vendor "SIEMENS" crea VMD PLC2 -dvm_access "/CN=PLC2":SIEMENS_AP \ -model "XXX" -vendor "SIEMENS" ! crea named PLC1.V1 -datatype INTEGER_16 -send ALWAYS crea named PLC2.V1 -datatype INTEGER_16 -send ALWAYS ! crea device /DOM/DDP1 -data INTEGER_16 -vmd_name PLC1 -var_name V1 \ -update UNSOLICITED crea device /DOM/DDP2 -data INTEGER_16 -vmd_name PLC2 -var_name V1 \ -update UNSOLICITED ! This problem no longer exists in BASEstar Open Version 3.0. 3-6 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3.5 Unlinking a Consumer from a Remote Producer Previous versions of BASEstar Open contained a bug which created problems when trying to unlink a consumer from a remote producer, where the producer also has one or more local consumers that were linked *before* the remote consumer, as in the example that follows: BSTR> SET SCOPE VOLATILE BSTR> CREATE DATA_POINT /D1/PROD -datatype INTEGER_32 BSTR> CREATE DATA_POINT /D1/CONS -datatype INTEGER_32 BSTR> CREATE DATA_POINT /D2/CONS -datatype INTEGER_32 BSTR> LINK DATA_POINT /D1/CONS -prod /D1/PROD -UPDATE_POLICY UNSOLICITED BSTR> LINK DATA_POINT /D2/CONS -prod /D1/PROD -UPDATE_POLICY UNSOLICITED BSTR> UNLINK DATA_POINT /D2/CONS This example results in the following error: E-BSTR_S_BAD_PARAMETER: Bad parameter value E-BSTR_S_UNKNOWN_LINK: Data point '/D2/CONS' is not linked On the contrary, /D2/CONS is linked. However, if you swap the order of the two LINK DATA_POINT commands, the UNLINK DATA_POINT /D2/CONS command works correctly. 3.3.6 Crash Resulting from Attempt to Extend the VODB Previously, if an attempt to increase the size of the VODB failed, the library responsible for managing the database failed to reset the internal control structure of the database, causing it to crash. This problem no longer exists in BASEstar Open Version 3.0. 3.3.7 Segmentation Fault Caused by Wildcard Procedures Previously, the bstr_collection_loop, bstr_composite_ loop, bstr_realm_loop and bstr_vmd_loop resulted in a segmentation fault if used without the optional last_status and pattern parameters. This problem no longer exists in BASEstar Open Version 3.0. Release Notes Specific to BASEstar Open for UNIX 3-7 Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3.8 Unpredicatable Behavior of bstr_composite_loop with Packet Services server In previous versions of BASEstar Open, the behavior of bstr_composite_loop (and, therefore, the CLI) was somewhat unpredictable when it interacted with the Packet Services server. The scenario that follows provides an example of this behavior. The command SHO COMPONENTS DOMAIN /LEVEL02/LEVEL02 returns the following output: /LEVEL02/LEVEL02/$Control : PACKET /LEVEL02/LEVEL02/FETCH_DATABASE : PACKET /LEVEL02/LEVEL02/INSERT_DATABASE : PACKET /LEVEL02/LEVEL02/LOAD_DATABASE : PACKET /LEVEL02/LEVEL02/REPLACE_DATABASE : PACKET /LEVEL02/LEVEL02/$Control : PORT /LEVEL02/LEVEL02/FETCH_DATABASE : PORT /LEVEL02/LEVEL02/INSERT_DATABASE : PORT /LEVEL02/LEVEL02/LOAD_DATABASE : PORT /LEVEL02/LEVEL02/REPLACE_DATABASE : PORT In reality, all the Packets exist, but there are no Ports. However, a SHOW PORT * command executed on /LEVEL02 /LEVEL02) does not return any Ports, but outputs the following errors: E-BSTR_S_OBJECT_NOT_FOUND: Object not found E-BSTR_S_USR_FUNCT_ERR: User function error Note that the corresponding error output by the Event Services server in response to a SHOW ENBOX * command is: W-BSTR_S_NO_MATCHING_OBJ: No objects matching the request This problem no longer exists in BASEstar Open Version 3.0. 3.3.9 Creating a Trigger Object Previously, if you created a Trigger, specifying all the possible attributes associated with the object (description, data_point, filter, event, priority, filter_ parameters, event_parameters, trigger_state and trigger_ 3-8 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes evaluation), a subsequent SHOW TRIGGER command caused the Data Manager to return an "access violation" type error[1]. This problem no longer exists in BASEstar Open Version 3.0. 3.3.10 Sending a Packet to a Port with -SYSTEM_BUFFERING Full If you send a Packet to a Port whose queue_buffering attribute (set to SYSTEM_BUFFERING) is full, BASEstar Open returns a BSTR-E-PORT_QUEUE_IS_FULL error. This is the correct behavior in the circumstances. However, in previous versions of BASEstar Open, this behavior was only registered for the first SEND PACKET PORT operation after the Port reached the maximum number of Packet notifications. Subsequent SEND PACKET PORT commands caused BASEstar Open to return a value of BSTR_S_NORMAL, despite the fact that the Port was still full. Moreover, if one of the SEND PACKET PORT commands requested a reply, the application would hang indefinitely while awaiting a reply, as in the following scenario: Appl 1 Appl 2 ----------------------------------------------------------------- ____________________ [1] The exact nature of the error varies from platform to platform Release Notes Specific to BASEstar Open for UNIX 3-9 Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes $ CLI_BSTR $ CLI_BSTR BSTR> SET SCOPE VOLATILE BSTR> SET SCOPE VOLATILE BSTR> CREATE PORT P \ -queue_buff SYSTEM -max 1 BSTR> CREATE PACKET PK BSTR> CONNECT PORT P BSTR> SEND PACKET PORT P -packet PK BSTR> !*** now port P is full BSTR> SEND PACKET PORT P -packet PK E-BSTR_S_PORT_QUEUE_IS_FULL: Port queue is full BSTR> SEND PACKET PORT P -packet PK BSTR> SEND PACKET PORT P -packet PK BSTR> SEND PACKET PORT P -packet PK BSTR> !*** no errors BSTR> SEND PACKET PORT P -packet PK \ -reply BSTR> RECEIVE PACK PORT P BSTR> ! 1st notif. dequeued: BSTR> ! no reply needed. BSTR> RECEIVE PACKET PORT P (hang) (hang) This problem no longer exists in BASEstar Open Version 3.0. 3.3.11 Creating AMS Objects in a Distributed Environment In previous versions of BASEstar Open, any attempt to create Application Management Services objects in parallel in a distributed environment (OpenVMS/Digital UNIX) caused a deadlock between the two Application Management Services servers. This problem no longer exists in BASEstar Open Version 3.0. 3.3.12 Definition of BSTR_PROGRAM In previous versions of BASEstar Open, if BSTR_PROGRAM was not defined, BASEstar Open automatically defined the variable as B*App, which is invalid as a BASEstar Open object name. As a result, a perfectly correct reference_set command operation would fail. The valid definition used in BASEstar Open Version 3.0 is "BASEstarAppl". 3-10 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3.13 DB_SERVER Loop In previous versions of BASEstar Open, if you loaded a BSTROPEN-[DEVELOP|RUNTIME]-USER license on the system and attempted to start the DB_SERVER using the bstr_realm_ start_db command, the server looped indefinitely. In addition, if you attempted to invoke cli_bstr after starting the DB_SERVER, BASEstar Open displayed the following message: BASESTAR-CLIENT license not found It then returned control to the shell. This problem no longer exists in BASEstar Open Version 3.0. 3.3.14 Starting an Actor If requested to start an Actor with the EVM Server, the DTM Server and specific applications, BASEstar Open previously started the applications correctly, but the two servers remained in "ready to start" status. Even if you specified a startup_timeout parameter when defining the Activity, the execute Actor /ROOT_ACTOR -w" hung indefinitely. This problem has been corrected in BASEstar Open Version 3.0. 3.3.15 CLI Handling of Event Notifications In previous versions of BASEstar Open, the CLI handled Event notifications incorrectly. In short, it assumed that if a list of parameters was associated to an Event, the notification contained a matching list of actual values. This caused Programs to crash when executing commands such as the following: Release Notes Specific to BASEstar Open for UNIX 3-11 Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes create data_point aPoint \ -Datatype INTEGER_16 create enbox aEnBox \ -Max_notifications 10 create event anEvent \ -parameter_types (INTEGER_16) create trigger aTrigger \ -data_point aPoint \ -event anEvent ! missing parameter: -eve_parameter add subscription event anEvent aEnBox connect enbox aEnBox put value data_point aPoint 10 receive notification enbox aEnBox Resulting output message: BSTR> receive notification enbox aEnBox Event : /dom1/anEvent Origin : /dom1/aTrigger Priority : 0 Confirmation : NOT_CONFIRMED Notification_id : 1 User_parameter : 0 Notification_format: PARAMETERS_LIST Time : Tue May 23 15:27:11 1995 Parameter 1 value: E-BSTR_S_CLI_SEG_FAULT: Cli segmentation fault Memory fault: A memory image file is created as "core". This problem has been corrected in BASEstar Open Version 3.0. 3.3.16 Unsolicited Messages Received via DECosap Previous versions of BASEstar Open were unable to handle unsolicited DECosap messages if the configuration was as follows: 3-12 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes set scope volatile set context /ICB ! ! ! ! create array_datatype MSG \ -datatype OCTET \ -num_of_elem 512 \ -array_type VARIABLE_LEN \ -description " TYPE CHAINE PROVISOIRE " ! create array_datatype MSG_BIS \ -datatype OCTET \ -num_of_elem 4 \ -array_type VARIABLE_LEN \ -description " TYPE CHAINE PROVISOIRE " ! create array_datatype MSG_TRIS \ -datatype OCTET \ -num_of_elem 8 \ -array_type VARIABLE_LEN \ -description " TYPE CHAINE PROVISOIRE " ! create event EVENT_VMD_1 -PARAMETER (MSG) ! create enbox ENBOX_SAIG -max_notifications 1000 \ -enbox_kind system_buffering ! CREATE NAMED_VARIABLE VMD1_CONCENTRATEUR_1.MESSAGE \ -send ALWAYS \ -datatype MSG ! CREATE NAMED_VARIABLE VMD2_CONCENTRATEUR_1.MESSAGE \ -send ALWAYS \ -datatype MSG_BIS ! CREATE NAMED_VARIABLE VMD3_CONCENTRATEUR_1.MESSAGE \ -send ALWAYS \ -datatype MSG_TRIS ! create device_data_point DDP_VMD_1_0 \ -vmd_name VMD1_CONCENTRATEUR_1 \ Release Notes Specific to BASEstar Open for UNIX 3-13 Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes -var_name MESSAGE \ -var_class NAMED \ -update_policy UNSOLICITED \ -access_policy ALWAYS \ -datatype MSG create device_data_point DDP_VMD_2_0 \ -vmd_name VMD2_CONCENTRATEUR_1 \ -var_name MESSAGE \ -var_class NAMED \ -update_policy UNSOLICITED \ -access_policy ALWAYS \ -datatype MSG_BIS ! create device_data_point DDP_VMD_3_0 \ -vmd_name VMD3_CONCENTRATEUR_1 \ -var_name MESSAGE \ -var_class NAMED \ -update_policy UNSOLICITED \ -access_policy ALWAYS \ -datatype MSG_TRIS ! create trigger TRIGGER_VMD_1_0 \ -data_point DDP_VMD_1_0 \ -event EVENT_VMD_1 \ -eve_parameters (DDP_VMD_1_0:v) \ -trigger_evaluation ON_WRITE add subscription event EVENT_VMD_1 ENBOX_SAIG The Enbox received the full message if the first Device_ Data_Point referred to the biggest Array_Datatype; if it referred to a smaller Array_Datatype, data was invariably lost. Data received by the Device Manager was of the correct length. This problem no longer exists in BASEstar Open Version 3.0. 3.3.17 Terminating an ENCAPSULATED Program in a Distributed Realm Previously, it was not possible to terminate an ENCAPSULATED program in a distributed Realm unless it was running on the same system as the master Application Management Services server (i.e. the system where the Realm had been active for longest), as in the following scenario: 3-14 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes node1 | node2 ---------------------------------------------------------------------- | bstr_realm_setup_node XXXX | bstr_realm_setup_node XXXX | bstr_realm_start_node XXXX | (master AMS here) | | cli_bstr | BSTR> set scope volatile | BSTR> create node N1 \ | -phys "node1 | BSTR> create node N2 \ | -phys "node2 | BSTR> create prog P -image xxx \ | -prog ENCAPSULATED | BSTR> create activity ACT \ | -prog P -node (N2) | | | bstr_realm_start_node XXXX | (slave AMS here) BSTR> exec actor / -wait | I-BSTR_S_AMS_ACTSTARTING: | Starting actor '/' | ACTOR EXECUTE '/' : | COMPLETED SUCCESSFULLY | | (program P is running | here) | BSTR> term actor / -wait | I-BSTR_S_AMS_ACTSHUTTING: | Terminating actor '/' | | (Hangs indefinitely) | (Program P is still alive) | This problem no longer exists in BASEstar Open Version 3.0. Release Notes Specific to BASEstar Open for UNIX 3-15 Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3.18 Using the Application Management Services Monitor in a Distributed Environment In BASEstar Open Version 2.0A, an attempt to start the Application Management Services Monitor in a distributed environment sometimes caused the monitor to hang, with the following error: E_BSTR_F_COM_LOG, NOQUED, message not queued to This problem no longer exists in BASEstar Open Version 3.0. 3.3.19 Use of / with the Application Management Services Monitor In BASEstar Open Version 2.0A, it was not possible to use the / combination to interrupt execution of the Application Management Services Monitor (for example, in the situation described in Section 3.3.18). This problem has been corrected in BASEstar Open Version 3.0. 3.3.20 Using the GET VALUE DATA_POINT Command on a non-Existent Device In BASEstar Open Version 2.0A, there was a problem with the use of the GET VALUE DATA_POINT command on a non-existent device, as explained in the scenario that follows. Assume that a VOLATILE database has two VMDs called VMD1 and VMD2; VMD1 exists physically, whereas VMD2 does not. VMD1 sends unsollicited to an Enbox every 5 seconds. If you execute a GET VALUE UNNAMED_VARIABLE command on a variable of VMD2, it fails with a timeout and notifies the Enbox every 5 seconds (normal behavior). However, if you execute a GET VALUE DATA_POINT command on a Data_Point that references a variable of VMD2, it fails with a timeout and only notifies the Enbox AFTER the failure of the command. This problem has been corrected in BASEstar Open Version 3.0. 3-16 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.3 Bug Fixes 3.3.21 Use of CANCEL_ON and CANCEL_OFF Thread Markers In previous versions of BASEstar Open, it was possible for a multi-threaded program to set the CANCEL_ON thread marker internally, so that subsequent calls would hang if a cancel request was pending. This problem no longer exists in BASEstar Open Version 3.0, in that BASEstar Open API calls reset the CANCEL_OFF thread marker automatically. Release Notes Specific to BASEstar Open for UNIX 3-17 Release Notes Specific to BASEstar Open for UNIX 3.4 Known Problems 3.4 Known Problems 3.4.1 Commands Not Displayed in the CLI Help The following commands are not displayed by the CLI help: o Help o Man o Shell o Spawn 3.4.2 Checking the Mapping Path When creating or modifying a Mapped_Data_Point, BASEstar Open does not perform validity checks on the mapping_path attribute. 3.4.3 Checking Filter Expressions When creating or modifying a Filter, BASEstar Open does not perform validity checks on the mapping path attribute. 3.4.4 Datatype Congruency Checks When creating or modifying a Trigger, BASEstar Open does not check the datatype congruency of Filter and Event parameters with the Filter expression and the Event datatype. 3.4.5 Device Variable Address Checks When creating or modifying a Named_ or Unnamed_Variable, BASEstar Open does not check the address. 3.4.6 Forcing an Exit from the CLI If you attempt to force an exit from the CLI with the end-of-file sequence (^d by default), (/), BASEstar Open displays the CLI prompt twice. 3.4.7 Support of Wildcard Characters The following commands do not support wildcard characters: o GET VALUE DATA_POINT o GET VALUE NAMED_VARIABLE o GET VALUE UNNAMED_VARIABLE 3-18 Release Notes Specific to BASEstar Open for UNIX Release Notes Specific to BASEstar Open for UNIX 3.4 Known Problems o GET INFO ENBOX o GET INFO ACTIVITY o GET INFO ACTOR o GET INFO PORT o GET STATUS DATA_POINT o GET STATISTICS all objects 3.4.8 Output from the CLI Output from the CLI is not paged. 3.4.9 Interrupting Execution of a Command File If you interrupt the execution of a BASEstar Open CLI command file activated from the CLI (SOURCE or RUN commands), BASEstar Open forces an exit from the CLI. 3.4.10 Resizing a Terminal Window The resizing of a DECwindows Motif terminal window may have an unpredictable effect on command editing and history mechanisms. 3.4.11 Threads and the send_to_user_port Internal Routine In the internal routine send_to_user_port, a pointer receives the value of a variable in a critical region and then uses it outside. Since it is possible for the variable to be reallocated by another thread, this may cause unpredictable side-effects. 3.4.12 Threads and Sequence Numbers It is possible for two different threads to generate the same sequence number for a fastway message. This causes a subsequent call to the internal procedure bstr_com_take_ buffer to fail with the following error: BSTR_S_COM_INP_FAIL Release Notes Specific to BASEstar Open for UNIX 3-19 Release Notes Specific to BASEstar Open for UNIX 3.4 Known Problems 3.4.13 Using bstr_initialize After bstr_finish If you use the bstr_finish command in a multithreaded environment, BASEstar Open fails to release all the resources allocated for calls that were interrupted. Therefore, an application cannot invoke bstr_initialize after bstr_finish. 3.4.14 Referencing an Object After Server Shutdown If an application includes a reference to a BASEstar Open object, and the server managing the object goes down, the reference becomes invalid. Therefore, if Application Management Services restarts the server (either on the same Node or on a different Node), the application should: o Unset the original reference o Create a new reference 3-20 Release Notes Specific to BASEstar Open for UNIX 4 _________________________________________________________________ Documentation Release Notes This section details any errors in the BASEstar Open documentation set. 4.1 The BASEstar Open Application Programming Interface This section lists any documentation errors in the BASEstar Open Application Programming Interface manual. 4.1.1 General Some of the BASEstar Open API functions do not fully implement all the capabilities made available by the "request control block". However, these limitations are not always highlighted in the BASEstar Open Application Programming Interface manual For example, if you use the bstr_data_point_get_value routine with a timeout value set in the request control block, BASEstar Open returns the status code "Not implemented". Documentation Release Notes 4-1