DIGITAL Software Product Description ___________________________________________________________________ PRODUCT NAME: Visual TeMIP Developer's Toolkit Version 1.1A for DIG- ITAL UNIX SPD 60.64.02 DESCRIPTION Visual TeMIP is a C++ software development environment for TeMIP ap- plications (Management Modules), which provides third parties and users with a TeMIP environment open to new functionality integration and which significantly reduces 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. Third parties and users can develop applications for the TeMIP Net- work Management family of products to provide access to and manage- ment functions for any manageable object. Software and documentation for the development of integrated TeMIP modules are available as part of the Visual TeMIP Developer's Toolkit. December 1997 AE-QX5KC-TE VISUAL TeMIP CLASSES Visual TeMIP provides three levels of classes to develop a management module. Each level is designed so that it can be used without the lay- ers above it. These are 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 Sets and sequences: generic set/sequence management for any base data types is provided by functions such as Add, Remove, Contains, Intersection and Union o Bags: sets with counted membership o Queues: allows double-linked queues containing elements of any data type. Insertion and removal is possible at any position in the queue, o Tidy pointers: provide leak-free memory management. Wrapper Classes The Wrapper classes and their member functions provide a wrapper around the TeMIP function calls and their associated data types, greatly re- ducing the amount of repetitive code needed to use them. Many of the Wrapper Classes include conversion operators that provide access to TeMIP Framework data types that they include. Thus they can be passed as parameters to the 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 to change or simplify the semantics of the TeMIP Framework inter- faces. The Wrapper classes provide a set of basic C++ classes (or family of classes) for the following : o TeMIP Framework data types. Most framework data types have their corresponding wrapper class (Please see the Visual TeMIP Reference 2 Guide for a full list). Classes for facilitating the support of con- structed and user-defined types are also provided 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 Thread handling o Mutex, lock and condition variable handling 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) Wrapper Extension Classes The Wrapper Extension Classes (layered on top of Wrapper Classes) pro- vide a set of extended functionalities around TeMIP Framework. They are targeting more value-added functions around Presentation Modules development and Event Filtering management: o TeMIP Security (ACLOC) C++ API. Delivered as a separate library, allows the filtering and/or logging of operators' requests, and the checking of whether a request is au- thorized or not. o Asynchronous Calls Support. 3 Delivered as a separate library and included file, allows the issue of call requests without needing to wait for the response. This is par- ticularly adapted for Presentation Module development, where user in- terface 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. 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 (via macros) the Framework classes and by implementing the code as member functions of these derived classes. The main classes that are visible to the 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. 4 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. 5 Dictionary Wrapper The Dictionary Wrapper adds a family of C++ classes, to encapsulate 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 definition from a parent object and representation of the possible data types 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. The Visual TeMIP Wrapper and Framework functions also make use of the exception mechanism when they detect unrecoverable errors. The frame- work contains exception handlers at appropriate points which convert the error into some appropriate return to the caller. 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 necessary code to implement or to override a method needed by the Vi- sual 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 overriden Visual TeMIP methods necessary to modify the default behavior of standard di- rectives 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 Visual TeMIP Dev AM, implements a simple example of Management Mod- ule, using the default Visual TeMIP behavior. It has only a Header and Main code module and no Override code module. o Visual TeMIP Example AM, implements a more complex model with spe- cific directive processing event generation and manipulation of com- plex data types and event parameters. o Visual TeMIP Example FM, is a value-added module that enhances Vi- sual TeMIP Example AM with counters and statistics computations as well as some event monitoring function. 7 o Visual TeMIP Asynchronous Example, implements a TeMIP application which performs asynchronous call requests to display all active Man- agement Modules through a graphical representation. o Visual TeMIP Dictionary Wrapper Example, "dumps" the dictionary in- formation 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 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: Developing management modules using Visual TeMIP AlphaStation 200 128 MB memory RZ26 disk 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. 9 SOFTWARE REQUIREMENTS For Systems Using Terminals and Workstations: o DIGITAL UNIX[R] V4.0B o TeMIP Framework V3.1A o TeMIP Framework Developer's Toolkit V3.1A o DECcxx V5.7 OPTIONAL SOFTWARE o DECladebug V4.0 GROWTH CONSIDERATIONS The minimum hardware/software requirements for any future version of this product may be different from the current version requirements. 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. ORDERING INFORMATION Software License : QL-58RA9-AA Software Media : QA-58RA9-H8 Software Documentation : QA-58RA9-GZ Software Product Services : QL-58RA*-** Note: * Denotes variant fields. For additional information on avail- able licenses, services and media, refer to the appropriate price book. 10 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's licensing terms and policies, contact your local Digital office. License Management Facility: The DIGITAL UNIX version supports the UNIX License Management Facil- ity. License units for this product are allocated on an Unlimited System Use basis. For more information on the License Management Facility, refer to the appropriate DIGITAL UNIX Operating System Software Product Descrip- tion (41.61.xx). SOFTWARE PRODUCT SERVICES A variety of service options are available from Digital. For more in- formation, contact your local Digital office. SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the pur- chase of a license for the product as defined in the Software Warranty Addendum of this SPD. The above information is valid at the time of release. Please contact your local Digital office for the most up-to-date information. [R] Motif and OSF/Motif are registered trademarks of Open Software Foundation, Inc. 11 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. ©1997 Digital Equipment Corporation. All Rights Reserved. 12