DIGITAL Software Product Description ___________________________________________________________________ PRODUCT NAME: Visual TeMIP Developer's Toolkit Version 2.0 for DIG- ITAL UNIX[R] and Sun[R] Solaris[R] SPD 60.64.04 DESCRIPTION Visual TeMIP is a C++ software development environment for TeMIP ap- plications (Management Modules), providing third parties and users with a TeMIP environment open to new functionality integration and signif- icantly reducing management module development time. The Developer's Toolkit consists of software libraries, various sam- ple modules and tools to facilitate the creation of management mod- ules. In particular, it contains the following: o Visual TeMIP Classes and their corresponding libraries o Visual TeMIP Dev AM, Example AM and Example FM modules Visual TeMIP makes extensive use of the object-oriented features of C++ (inheritance and virtual functions), but a basic C++ understand- ing as well as a minimum knowledge of TeMIP Kernel functions is enough to fully benefit from this toolkit. Visual TeMIP now supports the Rogue Wave Tools.h++ class library. Util- ity classes are provided in Visual TeMIP to support Rogue Wave's queue and list features. Visual TeMIP classes have been modified to inte- grate better with the Rogue Wave classes, and have been made collectable as defined by Rogue Wave. July 1998 AE-QX5KE-TE Using Visual TeMIP, third parties and users can develop applications for the TeMIP Network Management family of products to provide access to, and management functions for, any manageable object. Software and documentation for the development of integrated TeMIP modules are avail- able as part of the Visual TeMIP Developer's Toolkit. VISUAL TeMIP CLASSES Visual TeMIP provides three class levels to develop a management mod- ule. Each level is designed so that it can be used without the lay- ers above it. These are the Support Classes, Wrapper Classes and Frame- work Classes, as described below: Support Classes The Support classes provide a set of basic, general purpose C++ classes that support common functions, such as: o Queues and lists: the Visual TeMIP classes are based on the Rogue Wave queuing functions with some additional features added, such as thresholds for signaling a normal or congested state, and a mon- itor to ensure threadsafe operation o Thread management: for the synchronization of threads; mutex, lock and condition variable handling o Tracing o Exception handling o Tidy pointers: provide leak-free memory management o Sets and sequences: generic set/sequence management for any base datatype is provided by functions such as Add, Remove, Contains, Intersection and Union. Bags provide sets with counted membership. Note: These classes have now been replaced by Rogue Wave functions, but are maintained for backward compatibility. The Support classes are designed to interact with the Wrapper and Frame- work classes, and are used extensively by the Framework. Wrapper Classes 2 The Wrapper classes and their member functions provide a wrapper around the TeMIP function calls and their associated datatypes, greatly re- ducing the amount of repetitive code needed to use them. Many of the Wrapper Classes include conversion operators that provide access to the TeMIP Framework datatypes that they include. Thus they can be passed as parameters to the classic TeMIP Framework functions as well as to Wrapper and Framework class functions. Wrapper classes are intended to ease the task of implementation, but not change or simplify the semantics of the TeMIP Framework interfaces. The Wrapper classes provide a set of basic C++ classes (or families of classes) for the following: o TeMIP Framework datatypes. Most Framework datatypes have their cor- responding wrapper classes (Refer to the Visual TeMIP Reference Guide for a full list). Also provided are classes for facilitating the support of constructed and user-defined types. All datatype classes are collectable, as defined by Rogue Wave (in the Tools.h++ User's Guide) to facilitate integration with Rogue Wave classes. o Generic datatypes, which can be encoded and decoded using the TeMIP dictionary. o TeMIP descriptors o Entity specifications o Entity classes o Handles o Strings o ILV encoding/decoding o Time specifications for handling Abstract Time Specifications (ATS) o Management Information Repository (MIR) o Exception handling 3 o Event handling, allowing the creation of an event, adding arguments to it and the use of the Event Manager to dispatch it. Specific sup- port is provided for OSI events o Issuing call requests. (Note: receiving call requests is done by the Framework Classes.) Using Visual TeMIP's generic support for request/response objects, it is possible to encode/decode calls and to encode events by referring to the TeMIP dictionary. Wrapper Extension Classes The Wrapper Extension Classes (layered on top of the Wrapper Classes) provide a set of extended functionality around TeMIP Framework. They offer more value-added functions around Presentation Module develop- ment and Event Filtering management: o TeMIP Security (ACLOC) C++ API. This is delivered as a separate library and allows the filtering and/or logging of operator requests and verification of whether a request is authorized or not. It supports multiple sessions: for modules that act as multi-user servers, distinct security profiles can be used. o Asynchronous Call Support. This is delivered as a separate library and included file and allows the issue of call requests without needing to wait for the response. This is particularly adapted to Presentation Module development, where user interface events are asynchronously delivered. o Low Level Event Filtering C++ API. Allows the filtering of events put in the Event Manager, benefiting from the Event Filtering and Correlation features (Wrapper Classes). Framework Classes The Framework classes provide high-level classes for dealing with man- agement module classes, attributes, directives and events. The Frame- work classes enable management modules to be written, using C++, with- out a detailed understanding of the underlying TeMIP Kernel functions nor of the conventions for passing information between modules. 4 The "Framework" takes care of all the normal interactions with the TeMIP Kernel. A set of C++ macros is used to describe the structure of the entities being modeled, and their interaction with the developer's code. Using C++ virtual functions, all essential or default behavior is pro- vided by this framework. Aspects that are specific to the management module are coded by de- riving the Framework classes (using macros) and by implementing the code as member functions of the derived classes. The main classes that are visible to a user of the Framework are: o MModule class; represents the properties of the module as a whole. o MClass class; represents the properties of a single entity class. o MInstance class; represents the properties of a single instance of an entity class. o MAttribute class; represents the properties of the attributes of an entity class. o MAttribInstance class; represents the value of the attribute in- stance for a given instance within an entity class. o MVerb class; represents the properties of a particular verb of a particular class. o MDirectiveContext class; represents the information (dynamic con- text) needed to process a directive. o MEventClass class; represents the properties of the event. It is the counterpart to MVerb, for handling received events from another management module. o MEventContext class; is the counterpart to MDirectiveContext, for dealing with received events. The Visual TeMIP Reference Guide describes each class in detail. Dictionary Wrapper 5 The Dictionary Wrapper adds a family of C++ classes for encapsulat- ing dictionary access. These classes provide: o Information methods to access data specific to a given dictionary object (MOID class), o Navigation methods to access subordinate definitions from a par- ent object and representation of the possible datatypes for attributes and arguments (MDictObject classes). ERROR HANDLING Visual TeMIP takes advantage of the exception mechanism in the C++ lan- guage to eliminate code-written checks of status values that can be returned from any of the TeMIP Framework functions. All Visual TeMIP functions make use of the exception mechanism when they detect unrecoverable errors. The framework contains exception han- dlers at appropriate points which convert the error into some appro- priate return to the caller. All common exceptions can be generated with arguments, using the dic- tionary to encode the exception arguments. DOCUMENTATION The Visual TeMIP Developer's Toolkit documentation provides informa- tion to assist in the design and development of TeMIP Management Mod- ules. It includes the following documents: o The Visual TeMIP Reference Guide o The Visual TeMIP Development Guide Note: Since C++ is an extension of C, the user can at any time go to the level of the TeMIP Framework System Reference Manual and inter- act directly with the TeMIP Kernel. Refer also to the TeMIP Framework and TeMIP Framework Developer's Toolkit Software Product Descriptions (SPD 54.17.xx and SPD 63.39.xx) for more information. 6 DEVELOPMENT PROCESS AND EXAMPLES Management modules that use Visual TeMIP and an object-oriented ap- proach contain several code modules. Each code module contains the nec- essary code to implement or to override a method needed by the Visual TeMIP architecture. Therefore, the implementation consists of the header file and one or more conventional C++ source files (modules): o Header Module: contains a description of the classes to be handled by the module (for example, a translation of the MSL specifications of the management module). o Main Code Module: contains the declarations necessary to Visual TeMIP to automatically generate the code for the standard behavior of the module, classes, attributes, and directives declared in the Header modules. o Override Code Module: contains the code of the overridden Visual TeMIP methods necessary to modify the default behavior of standard directives to meet the user's specific needs or to implement non- standard directives. o Specific Code Module: contains routines that perform common inter- nal functions, mainly for encoding and decoding complex parameters. VISUAL TeMIP EXAMPLES The Visual TeMIP Developer's Toolkit provides various sample modules: o The Visual TeMIP Dev AM: implements a simple example of a Manage- ment Module, using the default Visual TeMIP behavior. It has only a Header and Main code module and no Override code module. o The Visual TeMIP Example AM: implements a more complex model with specific directive processing, event generation and manipulation of complex datatypes and event parameters. o The Visual TeMIP Example FM: a value-added module that enhances the Visual TeMIP Example AM with counter and statistic computations as well as some event-monitoring functions. 7 o The Visual TeMIP Asynchronous Example: implements a TeMIP appli- cation, which performs asynchronous call requests that display all active Management Modules using a graphical representation. o The Visual TeMIP Dictionary Wrapper Example: "dumps" the dictio- nary information for a given entity class. The Visual TeMIP Development Guide explains how to build and enroll management modules. HARDWARE REQUIREMENTS Supported Alpha AXP Processors: AlphaServer 8200 AlphaServer 8400 DEC/4600, DEC/4700 DEC/7600, DEC/7700 DEC/10600 AlphaServer 2000 AlphaServer 2100 AlphaServer 4000 AlphaServer 4100 AlphaStation 600 DEC/3500, DEC/3500S, DEC/3500X DEC/3800, DEC/3800S DEC/3900 AlphaServer 400 AlphaServer 1000 AlphaStation 200 AlphaStation 250 AlphaStation 255 AlphaStation 400 AlphaStation 500 DEC/2300S DEC/2500 8 DEC/3300, DEC/3300L, DEC/3300X, DEC/3300LX DEC/3400, DEC/3400S DEC/3600, DEC/3600S DEC/3700 Supported Sun Solaris Systems: Sun Ultra 1 Sun Ultra 2 Sun Ultra 30 Disk Space Requirements: Disk space required for installation: Root file system 0 Kbytes Other file systems usr 10,000 Kbytes Disk Space Required for Use (Permanent): Root file system 0 Kbytes Other file systems usr 15,000 Kbytes These counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options. Memory Requirements: The minimum memory supported is 128 Mbytes. Recommended Configuration (for developing management modules using Vi- sual TeMIP): For DIGITAL UNIX AlphaStation 200 128 MB memory RZ26 disk or equivalent disk space Ethernet controller 9 For Sun Solaris Sun Ultra 1, Sun Ultra 2 or Sun Ultra 30 128 MB memory Sun 4.2G (4GB) or equivalent disk space Ethernet controller Note: For testing purposes, one should consider increasing memory size at least to the closest operational system size. Specific network en- vironments may require larger configurations. SOFTWARE REQUIREMENTS For Systems Using Terminals and Workstations: o DIGITAL UNIX V4.0D or Sun Solaris V2.6 o TeMIP Framework V3.2 o DECcxx V5.7 OPTIONAL SOFTWARE o DECladebug V4.0 YEAR 2000 READY This product is Year 2000 Ready. The testing used to confirm the Year 2000 readiness of this product included code assessment and system tests to verify transition dates. GROWTH CONSIDERATIONS The minimum hardware/software requirements for any future version of this product may be different from the current version requirements. 10 DISTRIBUTION MEDIA This product is only available as part of the UNIX Consolidated Soft- ware distribution on CD-ROM. Please refer to the ordering information for each Software Media reference. SOFTWARE WARRANTY This software is provided by DIGITAL with a 90 day conformance war- ranty in accordance with the DIGITAL warranty terms applicable to the license purchase. The above information is valid at the time of release. Please contact your local DIGITAL office for the most up-to-date information. ORDERING INFORMATION DIGITAL UNIX: Software License : QL-58RA9-AA Software Media : QA-58RAA-H8 Software Documentation : QA-58RAA-GZ Software Product Services : QT-58RA*-** Sun Solaris: Software License : QL-61XAA-AA Software Media : QA-61XAA-H8 Software Documentation : QA-61XAA-GZ Software Product Services : QT-61XA*-** Note: * denotes variant fields. For additional information on avail- able licenses, services and media, refer to the appropriate price book. 11 SOFTWARE LICENSING This software is furnished under the licensing provisions of Digital Equipment Corporation's Standard Terms and Conditions. For more in- formation about DIGITAL licensing terms and policies, contact your lo- cal DIGITAL office. This product uses the FLEXlm Software License Key system. A floating license scheme is used, which means that the licensed soft- ware can be used up to the limit specified in the license file. The scheme used is trust based, which means that it does not use any machine- specific values or count of users to rigidly enforce license compli- ance. A FLEXlm key must be obtained using the request form provided with the Cover Letter, temip-license-form.txt. For use of any prior version of TeMIP, the LMF checksum is located on the Software PAK received as de- liverable upon order of the Software License. This checksum is only valid for LMF, that is for versions prior to V2.0 of Visual TeMIP on Digital UNIX. SOFTWARE PRODUCT SERVICES A variety of service options are available from DIGITAL. For more in- formation, contact your local DIGITAL office. [R] Motif and OSF/Motif are registered trademarks of Open Software Foundation, Inc. FLEXlm is a registered trademark of GLOBEtrotter Software, Inc. Rogue Wave and .h++ are registered trademarks of Rogue Wave Software, Inc. Solaris is a registered trademark of Sun Microsystems, Inc. Sun is a registered trademark of Sun Microsystems, Inc. Ultra is a registered trademark of Sun Microsystems, Inc. 12 UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Ltd [TM]The DIGITAL Logo, DEC, DECnet, AlphaStation, AlphaServer, DECwindows, DIGITAL, RZ and TeMIP are trademarks of Digital Equipment Corporation. ©1998 Digital Equipment Corporation. All Rights Reserved. 13