SMIng%20Requirements - PowerPoint PPT Presentation

View by Category
About This Presentation
Title:

SMIng%20Requirements

Description:

Merge SMI/SPPI and add new capabilities. Be the ASCII representation for IETF ... return values and parameters with attributes, and obfuscate real semantics ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 13
Provided by: DavidD137
Learn more at: http://www.ietf.org
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: SMIng%20Requirements


1
SMIng Requirements
  • Andrea Westerinen

2
What Is the End Game?
  • As part of requirements, need to understand the
    goals
  • Several options
  • Merge SMI and SPPI (only)
  • Merge SMI/SPPI and add new capabilities
  • Be the ASCII representation for IETF information
    models, and allow mapping to MIBs, PIBs and other
    data modeling languages

Today
3
What Is an Information Model?
  • Models key concepts
  • Object-oriented approach recommended
  • Encapsulation/abstraction, classes and instances,
    attributes/properties, behavior, actions/methods,
    notifications, inheritance, relationships/associat
    ions
  • Protocol independent
  • Can be mapped to a variety of implementations and
    data representations (sometimes from one
    construct to many)

4
What Is a Data Model?
  • Implementation specific
  • Data representation specific
  • May include protocol specific optimizations
  • Ideally derived from an information model,
    typically not true today

5
IETF Examples of Info/Data Models
  • DiffServ WG
  • Informal Model English text
  • Information Model would formalize this English
    text
  • MIB and PIB are data models that should be
    aligned with the info model
  • Process not without its pain
  • Forces design before coding
  • Formal info model should ease this pain (Less
    ambiguous than English)
  • Can iterate the models as they are coded

6
Requirements for SMIng
  • Naming of classes
  • Instances named relative to their protocol/data
    model (MIBs, PIBs, )
  • Definition of basic data types (including
    pointers and references)
  • Sequence Of (Not in the language today)
  • Ability to extend
  • Usage semantics R/W, optional/required,

7
Requirements for SMIng
  • Textual representation
  • Graphical views helpful but not ASCII (outside of
    the language)
  • Ability to combine and group classes
  • For scoping
  • Set of classes/associations that are logically
    instantiated/manipulated together
  • Containment of class/instance within another
  • Object oriented baggage

8
Class Information
  • Class name
  • Attributes
  • Events
  • Methods (Not in the language today)
  • Not read/write or constructor/destructor but
    behavior and operations such as reset device and
    synchronize with foo
  • Return value, In/Out parameters
  • Without methods, potential to confuse return
    values and parameters with attributes, and
    obfuscate real semantics

9
Inheritance
  • From general (abstract) to specific
  • Single inheritance
  • Organizes and gives semantics to concepts
  • Allows reuse (versus redefinition) of concepts
  • Does there need to be a single root for all
    derived classes?

10
Associations
  • Relationships between classes/instances
  • Can take the form of classes w/ pointer/reference
    attributes
  • Multiplicity constraints (many to many, one to
    one, one to many, etc.) (Not in the language
    today)

11
Constraints
  • Attribute bounds and enumerations
  • Usage - Read/Write, Optional vs. Required
  • Semantic constraints (Not in the language today)
  • Constraints for creating/deleting classes and
    associations (A must be associated with 1 (B OR
    C) A must be deleted if B is deleted)
  • Constraints for transactional dependencies (A and
    B must be modified together)
  • Interdependencies/relationships between
    attributes (for example, x,y coordinates) (Not in
    the language today)

12
Requirements Missing in SMIng Proposal (and Other
Questions)
  • Should SMIng describe info models?
  • Support for associations
  • Is it just a class with two (or more) pointers,
    allowing definition of data specific to the
    relationship?
  • Primitives to convey cardinality
  • Support for methods
  • Sequence Of
  • Semantic constraints
  • Ability to distinguish classes as abstract/very
    general vs concrete/instantiable
  • Others?
About PowerShow.com