This is to announce that the latest OSIMIS package version 3.0 is publicly available.
This is UCL's OSI management system, known as the OSI Management Information Service (OSIMIS). OSIMIS does not intend to provide a comprehensive set of OSI management facilities but rather to show how the rich OSI Management functionality can be exploited and to serve as a generic OSI management platform. In particular, extended support through an object-oriented (in C++) Application Program Interface (API) is provided to implementors of management applications in agent and manager roles, which hides the details of management information access through the OSI Common Management Information Service/Protocol (CMIS/P).
The system has been developed using the ISO Development Environment (ISODE) and has generic and specific parts. The generic parts are object-oriented infrastructure for the development of OSI agents and managers and a set of generic manager applications i.e. independent of specific management information bases. The specific parts are agents supporting specific MIBs and associated managing applications. It should be added that the emphasis is on generic infrastructure rather than specific applications, the latter have been developed in order to exercise the generic infrastructure and verify the concepts.
There is only a small team involved in the OSIMIS work at UCL and the system
has been a side product of our involvement in European research projects
(see below). Although we will try to answer questions about the system
and rectify bugs as they are reported, we cannot give guarantees about
any level of support. A primary motivation for us in putting OSIMIS in
the public domain has been to provide other developers with a platform
on which they can build their implementations. We hope, for example, that
others will be encouraged to develop additional MIB support and managing
applications (particularly nice graphical ones) and that these will be
placed in the public domain on the same basis as OSIMIS. We would be glad
to hear of any such developments and interworking experiences as well
as bug reports (and fixes!) via the OSIMIS list
OSIMIS has been developed as part of UCL's participation
in the following European research projects:
The following managing applications are provided:
The basic common infrastructure comprises a CMIS/P implementation
together with infrastructure for writing applications using an
event-driven approach by exercising centralised control / providing
polling support and also infrastructure for hiding ASN.1 manipulation.
Then there is extensive infrastructure for developing management agents.
Development support for these is provided through the Generic Managed
System (GMS) which hides completely CMIS access details such as managed object
addressing, scoping, filtering and error handling and allows MIB implementors
to concentrate on issues related to real resource access. A GDMO compiler
is planned for the near future which will minimise even further the code
that needs to be written. The GMS also provides support for the systems
management functions, event reporting and logging being supported at present.
Object management, access control and others are planned for the future.
As far as generic manager infrastructure is concerned, there exists at
the moment an (non-complete) implementation of a "Remote MIB (RMIB)" which
offers an object-oriented abstraction of a management association, assembles
linked replies, hides the manipulation of ASN.1 and in general offers
a higher level CMIS interface - this will be completed in the near future.
As a longer term project, there are plans of providing a higher level
abstraction of a "Shadow MIB (SMIB)", which will enable to access managed
objects in remote MIBs as if they existed in the local address space.
The OSIMIS CMIP implementation conforms fully to the IS version 2
(the one also adopted by the NM Forum) and uses the ISODE upper layer
OSI stack. The latter allows the following stack profiles (transport
and network protocol combinations to provide the OSI Transport Service):
Applications on any of these stacks can interoperate through transport
service bridging. ISODE also provides an implementation of the Lightweight
Presentation Protocol (LPP) which enables CMIP to run directly on top
of TCP which offers the connection-oriented Internet Transport Service.
This approach known as CMOT (CMIP over TCP/IP - RFC 1189).
The complete upper layer stacks for CMIP and CMOT are:
The OSI Transport Service can be provided by any of the stacks shown above.
Applications over the lightweight CMOT stack can NOT interoperate with
applications over the full CMIP stack but applications are portable across
the two stacks (in fact, all that is involved is linking the applications
with a different stack library as the CMIS interface remains the same).
Although we have never done any conformance or interoperability testing
ourselves, third parties have tested the OSIMIS CMIP (over ISODE)
against the Retix and IBM NetView CMIP successfully. No interoperability
testing was done at the GMS (agent) level regarding linked replies, error
handling etc. Such interoperability tests will be conducted in the future.
OSIMIS uses the following ISODE interfaces/support:
The system can be used with the ISODE versions 7.0 or 8.0 .
The management protocol layer (CMIP) has been developed using
the C programming language in order to be easily integrated from
different programming environments.
The generic management infrastructure and applications have been developed
in C++ to exploit the object oriented nature of the OSI Management model.
The C++ compilers used for the development were the GNU C++ version 2.1
and the ATT (Sun) C++ compiler version 2.1 . Later GNU versions will
work but later ATT ones will NOT. We intend to get port the software
to the latest ATT C++ version in a future release.
The browser has been implemented using the InterViews library version
2.6 (with both GNU and ATT C++). This InterViews version is now superseeded
but UCL still provides it since it is needed for the MIB browser.
The reason we have not switched to versions 3.0 or later is that these
are very different to 2.6 in both concepts and APIs - we may switch over in a
future release.
No other object libraries have been used in order to minimise tool
dependencies.
Note that GNU C++ does not work with shared libraries. If you use it,
make sure that ISODE libraries have NOT been configured as shared.
OSIMIS is (potentially) portable on every platform ISODE is and the later
runs on many, mainly UNIX, platforms (Sun, IBM, DEC, HP etc.) The only
portability problems could be related to the C++ compiler / system header
files and should be easily resolved. This version is known to work for the
Sun SunOS, IBM AIX and PC 386BSD versions of UNIX, we would welcome
extensions that will provide portability to other systems.
OSIMIS is not a supported package and no guarantees are offered about
its operation. You may use it and adapt it to your own use but this is
entirely at your own risk. The current OSIMIS User's Manual is in version
1.0 as opposed to version 3.0 of the software: this is because the
documentation, though sufficient, is not yet complete. It is expected
to converge to version 3.0 in the next months.
We welcome discussion of this software on the osimis list
(osimis@cs.ucl.ac.uk) and will be interested to hear of any developments,
additional managed objects etc. that others produce. We may be able
to help with any problems you have but we can offer no guarantees -
there is very little effort to spare for this at UCL.
SUPPORTED MIBs
In the current version there are the following implemented MIBs:
It should be added that though not in this release, we also have at UCL
a proxy implementation of the OSI Internet MIB which talks at the back-end
to the ISODE SNMP agent ("loosely-coupled resources with a fetch-on-request
access and asynchronous reports i.e. SNMP traps"). This will find its
way to OSIMIS in a future release.
MANAGING APPLICATIONS
GENERIC INFRASTRUCTURE
CMIP AND STACK PROFILES
-- OSI TS --- --------------- -------- --------
| Transport | | TP0/RFC1006 | | TP0 | | TP4 |
------------- --------------- -------- --------
| Network | | TCP/IP | | X.25 | | CLNP |
------------- --------------- -------- --------
OSI TS OSI Transport Service
TPx Transport Protocol Class x
CLNP ConnectionLess Network Protocol
TCP/IP Transmission Control Protocol / Internet Protocol
Full CMIP stack CMOT stack
CMIS ------------- ------------- CMIS
| CMIP | | CMIP |
------------- -------------
| ACSE/ROSE | | ACSE/ROSE |
------------- -------------
| OSI PP | | LPP |
------------- ------------- Internet TS
| OSI SP |
OSI TS -------------
ACSE: Association Control Service Element
ROSE: Remote Operations Service Element
(L)PP: (Lightweight) Presentation Protocol
SP: Session Protocol
(*) As background to the previous discussion, we mention here the OSI
notion of protocol and service: the protocol provides the service,
the latter being independent of the protocol's internal operation.
There may be more than one approaches to producing APIs for an abstract
service e.g. sockets and streams for TCP/IP, OSIMIS CMIS and the X/Open
XMP etc. The concept is shown below using CMIS and CMIP as an example:
--- service --- ---- CMIS ----
| | | |
| protocol | | CMIP |
| | | |
--------------- --------------
INTEROPERABILITY
USE OF ISODE
(*) In OSI management, plain ASN.1 is used to describe the CMIP Protocol
Data Units (PDUs) and also the syntax of attribute, action and
notification values of managed objects.
(**) Please note the term "broadly equivalent" regarding the resemblance
of the ISODE ASN.1 and OSIMIS CMIS APIs to the X/Open XOM/XMP ones.
As somebody put it "we should be ashamed of any resemblance
that does exist" as the latter are simply horrific.
IMPLEMENTATION INFORMATION
PORTABILITY
HOW TO GET A COPY
For information only:
Telephone: +44-71-380-7215 (George Pavlou)
+44-71-380-7366 (Graham Knight)
Fax: +44-71-387-1397
Telex: 28722
Internet: osimis@cs.ucl.ac.uk