cc/td/doc/product/rtrmgmt/cdm/cdm34
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Introduction to the Cisco DSL Manager Object Model
Design Overview
Design Patterns

Introduction to the Cisco DSL Manager Object Model


This chapter provides an overview of the Cisco DSL Manager (CDM) object model. This chapter also describes the basic design of the Cisco Element Manager Framework (EMF) common object model, on which CDM objects are based.

This chapter includes the following sections:

Design Overview

The object model includes views and their containment hierarchies, classes and their inheritance structure, and attributes for each class. The object model standardizes the modeling behavior of element manager software applications, which manage Cisco network equipment.

The object model uses inheritance, rather than aggregation, to model the capabilities for each object class. The inheritance form of object oriented programming allows classes to have superclasses and subclasses. When you develop an application, you can retain some of the attributes and methods of the superclass, called the parent class, while adding new attributes or choosing to omit certain attributes. Inheritance modeling allows for greater flexibility in defining each class. With some programming languages, an object can inherit functions and characteristics from more than one class.

A modeling design that is based on inheritance enables the common object model to work effectively within the constraints of the Cisco EMF. The inheritance-modeling design is preferable to the aggregation method of design for the following reasons:

The common object model uses class intermixing at the interface level, as opposed to type intermixing. Using class intermixing has the following advantages:

Design Patterns

The design for the common object model includes a chassis and module design pattern and an interface design pattern. These topics are described in the following sections.


Note   The object model diagrams in this guide show the abstract base classes in italics.

Chassis and Module Design Pattern

The common object model uses a recurring design pattern for the chassis and module classes. A diagram of the chassis and module design pattern is shown in Figure 1-1.


Figure 1-1   Chassis and Module Design Pattern


The implementation of a Cisco EMF class is encapsulated. Only classes that are derived from the abstractBaseClass are deployable. This class represents some physical device entity and also models the state machine for the device. Similarly, if you want to extend the class model with new classes, you derive the new classes from the abstractBaseClass rather than from the concreteBaseClass.

A class intermixing approach allows attributes of different abstract classes to be combined in an appropriate manner. Objects from each nonabstract class can be deployed (these are referred to as concrete classes). Concrete classes are the deployable classes; in other words, you can create objects from these classes.

The chassis and module classes always inherit from the CiscoGenericFunctionality class and therefore always have some generic management capability. Each concrete class also provides the state machine implementation.

Interface Design Pattern

The common object model uses a different design pattern for modeling interfaces than those that are used for chassis and modules. The interface design pattern is applied across all interfaces. A diagram of the interface design pattern is shown in Figure 1-2.


Figure 1-2   Interface Design Pattern


The interface design pattern uses the concept of layer classes and union classes:

To extend the model, you can add sublayer classes and provide appropriate new union classes.


hometocprevnextglossaryfeedbacksearchhelp
Posted: Fri Jan 24 06:15:39 PST 2003
All contents are Copyright © 1992--2002 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.