ASN.1 and GDMO Information Model Metadata
Looking for a standalone ASN.1 Toolkit ? The Monfox Java ASN.1 API is now available as a standalone product: See: DynamicOSI Java ASN.1 SDK
The Java ASN.1 & GDMO Metadata API is at the core of the DynamicTMN® product suite. This API includes Java metadata classes which provide for a complete, runtime-accessible representation of Abstract Syntax Notation One (ASN.1) and Guidelines for the Definition of Managed Objects (GDMO) components utilized by your DynamicTMN® application.
The API also includes a ASN.1 and GDMO compiler for parsing, validating and optimizing ASN.1 and GDMO definitions as well as for generating Java metadata beans containing all of the definitions required by your DynamicTMN® application.
ASN.1 & GDMO Metadata API Overview
The ASN.1 & GDMO Metadata API is used by the related DynamicTMN® APIs and toolkits to perform the following functions:
- ASN.1 value notation generation, parsing and validation
- Basic Encoding Rules (BER) encoding and decoding
- GDMO template name to/from ASN1 OID mapping
- GDMO information syntax to ASN1 type mappings
- GDMO name-binding enforcement
- translation of XML to/from ASN1 values
- and much more...
Note that while the majority of DynamicTMN® API users never need to work directly with the metadata API, the API is available to you. The metadata API may be used directly to develop:
- custom code generators
- ASN.1/GDMO to XML,IDL,CIM/MOF,MIB translators
- generic protocol mediators (CMIP -> CORBA, etc)
- and much more...
ASN.1 & GDMO Metadata API Classes
The ASN.1 & GDMO Metadata API classes model the different syntax components (i.e. templates, types, modules, values) from the ASN.1 and GDMO specifications in order to provide complete, programmatic access to the all elements from the GDMO and ASN.1 standards used by your application.
The ASN.1 metadata API is composed of classes which represent the ASN.1 types from your ASN.1 definitions. These classes provide all information regarding the structure and coding (tag info, etc) requirements of the associated type. Some examples of the ASN.1 metadata API classes are:
IntegerType : ASN.1 INTEGER EnumeratedType : ASN.1 ENUMERATED StringType : ASN.1 String/OCTET STRING RealType : ASN.1 REAL ContainerType : ASN.1 SET/SEQUENCE OF StructuredType : ASN.1 SET/SEQUENCE BitStringType : ASN.1 BIT STRING AbstractType : all other ASN.1 MetadataSet : ASN.1 Metadata Set
The GDMO metadata API is composed of classes which represent each of the GDMO templates defined in your GDMO definitions. These classes provide access to all of components of the associated template definition such as related templates, associated ASN.1 types, associated ASN.1 values, defined OIDs, etc. Some examples of the GDMO metadata API classes are:
ManagedObjectClassTempl.: MANAGED OBJECT ... PackageTemplate : PACKAGE AttributeTemplate : ATTRIBUTE NotificationTemplate : NOTIFICATION ActionTemplate : ACTION NameBindingTemplate : NAME BINDING AttributeGroupTemplate : ATTRIBUTE GROUP ParameterTemplate : PARAMETER BehaviourTemplate : BEHAVIOUR Document : GDMO Document MetadataSet : GDMO Metadata Set
ASN.1 & GDMO Compiler
The ASN.1 & GDMO Metadata API includes a Java-based compiler for compiling your application specific GDMO and ASN.1 definitions for use with the DynamicTMN® product suite. This compiler will accept all standard and custom ASN.1 and GDMO definition files which conform to the syntaxes specified in the ASN.1 (X.208/X.680) and GDMO (X.722) standards as well as accept vendor specific extensions and syntaxes used by most of the well-known equipment vendors and toolkit providers.
Some of the ASN.1 & GDMO compiler's features are:
- parses ASN.1 and GDMO definition files
- performs ASN.1 type and value validation
- performs GDMO template validation
- performs GDMO and ASN.1 consistency checking
- resolves references from GDMO defs. to ASN.1 elements
- builds lookup tables for OID and type mappings
- generates ASN.1 & GDMO Browser data files
- generates a GDMO and ASN.1 metadata beans
- supports usage based optimization for minimal memory usage
- supports different levels of validation
- supports equipment vendor specific syntax extensions
- is configured through XML build files or command line params
The Java ASN.1 & GDMO Metadata API supports the following standards:
- ITU-T X.208/X.680: Abstract Syntax Notation One (ASN.1)
- ITU-T X.208/X.690: ASN.1 Basic Encoding Rules (BER)
- ITU-T X.722: Guidelines for the Definition of Managed Objects (GDMO)
Note: These standards provide components implemented directly by the Java ASN.1 & GDMO Metadata API. You may use the ASN.1 & GDMO compiler and metadata API to work with ANY technology specific standard ASN.1 and GDMO or vendor proprietary/equipment specific ASN.1 and GDMO definitions.
Related DynamicTMN® Components
The Java ASN1 & GDMO Metadata API is used by the following DynamicTMN® APIs:
And included in the following DynamicTMN® products: