Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

YANG Tools is a infrastructure project aiming to develop necessary toolingtool chain and libraries providing support of NETCONF and YANG for Java(JVM-language based) projects and applications.

...

In ONOS, YANG is being used as a general purpose modeling language.
There are four entities which drive this:

...

Base Models will be used by different YANG components. It includes following:

DataNode: Provides a basis for holding information in a tree whose structure corresponds to a set of YANG models (base & augmentations).

  • Is immutable.
  • Provides a mechanism for mutation (Builder pattern, etc.)
  • Understands the schema that was used to construct it.
  • Store will be based on DataNode.

      Data node is categorized in two sub-type:

...

Various components of YANG compiler which helps yang compiler to compiles YANG files and generates the required code with serialized metadata.

Parser

...

Parse the input YANG file and produces DataModel. It compiles Yang files against the YANG grammar version 1.0 using ANTLR tool and updates the data model tree.

DataModel

...

Abstract representation of YANG in JAVA tree format, it is later serialized and used by YANG runtime to understand the schema information.

Linker

...

Links the various Intra File/Inter-File/ Inter-JAR YANG constructs dependencies. For ex: grouping and uses linking, typedef and type linking. Import, imclude depencency.

Translator

...

Generates java code corresponding to Data model.

...