# Presentation: 464132

## Alignment of NM Schema to CIM 

**Julie Schott**

## Relevant CIM Hierarchy 

## CIM View of a Network Diag Service 

## XSD View of a Network Diag Service

## Mapping of CIM to XSD

**CIM class is defined as a xs:ComplexType**
**CIM hierarchy is defined by use of xs:Extension **
**CIM property is defined as a xs:Element**
**CIM associations are assumed by the XSD definition**
**CIM methods have not been mapped  **

## Mapping Inconsistencies 

**CIM enums are currently represented as strings**
**Representation of arrays of integers and strings**
**CIM Keys -- **
**Reduced CIM Hierarchy / Class definitions**
**CIM many to many relationship are forced to a single containment relationship (Otherwise, need arrays of complex types)**
**Containment of the Test itself (On source, destination, or both?)**

## Alignment with CIM

**PROs**
**Schema is understood in a larger audience**
**Enables alternative implementations **
**CONs**
**Need to understand the relevant existing abstractions in the CIM Schema **
**Additions to the CIM Schema need to be introduced via CRs in MOF to the DMTF**

## Examples of XSD representation of CIM

**ManagedElement**
**ManagedSystemElement**
**EnabledLogicalElement**
**DiagnosticService becomes a specific NetworkDiagService**

## XSD Mapping for ManagedElement

**	****<xs:complexType name="ManagedElement" abstract="true">**
**	****	****<xs:annotation>**
**	****	****	****<xs:documentation>The superclass for all CIM classes**
**	****	****	****</xs:documentation>**
**	****	****</xs:annotation>**
**	****	****<xs:sequence>**
**	****	****	****<xs:element name="InstanceID" type="xs:string"/>**
**	****	****	****<xs:element name="Description" type="xs:string"/>**
**	****	****	****<xs:element name="ElementName" type="xs:string"/>**
**	****	****</xs:sequence>**
**	****</xs:complexType>**

## XSD Mapping for ManagedSystemElement

**<xs:complexType name="ManagedSystemElement" abstract="true">**
**   ****<xs:annotation>**
**	****<xs:documentation>CIM class hierarchy**
**	****</xs:documentation>**
**   ****</xs:annotation>**
**   ****<xs:complexContent>**
**	****<xs:extension base="nm:ManagedElement">**
**	****   ****<xs:sequence>**
**	****	****<xs:element name="OperationalStatus" type="nm:IntArray"/>**
**	****	****<xs:element name="StatusDescriptions" type="nm:StringArray"/>**
**	****   ****</xs:sequence>**
**	****</xs:extension>**
**   ****</xs:complexContent>**
**</xs:complexType>**

## XSD Mapping for EnabledLogicalElement

**<xs:complexType name="EnabledLogicalElement" abstract="true">**
**   ****<xs:annotation>**
**	****<xs:documentation>The superclass for all enabled CIM classes**
**	****</xs:documentation>**
**   ****</xs:annotation>**
**   ****<xs:complexContent>**
**	****<xs:extension base="nm:ManagedSystemElement">**
**	****   ****<xs:sequence>**
**	**** ****	****<xs:element name="EnabledState" type="xs:int"/>**
**	****	****<xs:element name="RequestedState" type="xs:int"/>**
**	****	****<xs:element name="TimeOfLastStateChange" type="xs:dateTime"/>**
**	****   ****</xs:sequence>**
**	****</xs:extension>**
**   ****</xs:complexContent>**
**</xs:complexType>**

## XSD for NetworkDiagService

**<xs:complexType name="NetworkDiagService">**
**   ****<xs:annotation> <xs:documentation>Network diagnostic service encapsulates the DiagnosticService, the Settings, the Results, the Job, and the ComputerSystems involved with running the Diagnostic.  </xs:documentation> </xs:annotation>**
**    ****<xs:complexContent> <xs:extension base="nm:EnabledLogicalElement">**
**        ****	****<xs:sequence>**
**	****	****<xs:element name="TestName" type="xs:string"/>**
**	****	****<xs:element name="PrimaryOwnerContact" type="xs:string"/>**
**	****	****<xs:element name="PrimaryOwnerName" type="xs:string"/>**
**	****	****<xs:element name="DiagnosticAccuracy" type="xs:float"/>**
**	****	****<xs:element name="TestIdentity" type="nm:SoftwareIdentity"/>**
**	****	****<xs:element name="Source" type="nm:ComputerSystem"/>**
**	****	****<xs:element name="Destination" type="nm:ComputerSystem"/>**
**	****	****<xs:element name="TestSettings" type="nm:DiagnosticSettingData"/>**
**	****	****<xs:element name="TestResults" type="nm:DiagnosticServiceRecord"/>**
**	****	****<xs:element name="JobSettings" type="nm:JobSettingData"/>**
**	****	****<xs:element name="ResultingTestJob" type="nm:ConcreteJob"/>**
**	****     ****</xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>**

## NetworkDiagService

**Should a single Service definition be able to perform multiple types of Tests with a one invoke? **
**If yes, then need ability to have:**
**Multiple Setting Definitions**
**Multiple Result Definitions**
**Need to add type to the Result Definition**

## Recommendations

**New class definitions should be submitted as CRs to appropriate DMTF working groups**
**Define CIM “Profile” to match resulting XSD**
**Identify Liaisons**
**From GGF to DMTF**
**From DMTF to GGF**

## BACKUP

**BACKUP**

- © 2003 Cisco Systems, Inc. All rights reserved.

- Presentation_ID

## CIM Class Definitions – Managed Element

## CIM Class Definition – Service and Systems

## CIM Class Definition – LogicalDevice and O/S

## CIM Class Definition – Diag Service

## CIM Class Definition - Settings

## CIM Class Definition – Record Logs

## CIM Class Definitions – NW Logs

## Presentation_ID

- © 2003 Cisco Systems, Inc. All rights reserved.